[chromium] Use WebGraphicsContext3D in rate limiting logic inside compositor
[WebKit.git] / Source / WebCore / ChangeLog
1 2012-06-11  James Robinson  <jamesr@chromium.org>
2
3         [chromium] Use WebGraphicsContext3D in rate limiting logic inside compositor
4         https://bugs.webkit.org/show_bug.cgi?id=86259
5
6         Reviewed by Adrienne Walker.
7
8         This refactors the compositor's rate limiting implementation to use the Platform API's WebGraphicsContext3D
9         directly instead of WebCore::GraphicsContext3D to cut down on the number of spurious WebCore dependencies in the
10         compositor.  The one change in contract is that the caller to CCLayerTreeHost::startRateLimit() now has to call
11         CCLayerTreeHost::stopRateLimit() before allowing the referenced context to go away since CCLayerTreeHost no
12         longer retains a reference, but this was always happening already.
13
14         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
15         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
16         (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
17         * platform/graphics/chromium/RateLimiter.cpp:
18         (WebCore::RateLimiter::create):
19         (WebCore::RateLimiter::RateLimiter):
20         (WebCore::RateLimiter::start):
21         (WebCore::RateLimiter::rateLimitContext):
22         * platform/graphics/chromium/RateLimiter.h:
23         (WebKit):
24         (RateLimiter):
25         * platform/graphics/chromium/TextureLayerChromium.cpp:
26         (WebCore::TextureLayerChromium::~TextureLayerChromium):
27         (WebCore::TextureLayerChromium::setRateLimitContext):
28         (WebCore::TextureLayerChromium::setNeedsDisplayRect):
29         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
30         (WebCore::CCLayerTreeHost::startRateLimiter):
31         (WebCore::CCLayerTreeHost::stopRateLimiter):
32         (WebCore::CCLayerTreeHost::rateLimit):
33         (WebCore):
34         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
35         (CCLayerTreeHost):
36
37 2012-06-11  Dana Jansens  <danakj@chromium.org>
38
39         [chromium] Separate CCVideoDrawQuad and from the layer tree and video provider by removing ManagedTexture and WebVideoFrame pointers from the quad
40         https://bugs.webkit.org/show_bug.cgi?id=88363
41
42         Reviewed by Adrienne Walker.
43
44         CCVideoDrawQuad should not contain any pointers to data in the layer
45         tree so we are able to serialize it across process boundaries. This
46         patch removes the ManagedTexture pointers from the quad class,
47         replacing them with texture ids. It removes the WebVideoFrame* from
48         the quad, replacing it with the frame provider's texture id included
49         in the WebVideoFrame structure. And it uses a WebTransformationMatrix
50         instead of a pointer to an array of floats.
51
52         Texture allocation is done in CCVideoLayerImpl via the
53         contentsTextureAllocator, so that the memory usage can be tracked.
54
55         We move the copyPlaneToTextures() method back from LayerRendererChromium
56         to CCVideoLayerImpl, as this method uses the texture data pointer in the
57         WebVideoFrame, and we do not want to give this pointer to the quad
58         class. Instead, this method makes use of the LayerTextureSubImage class
59         to copy the pixel data into the texture.
60
61         LayerTextureSubImage is updated to allow non-4byte texture formats.
62
63         * platform/graphics/chromium/LayerRendererChromium.cpp:
64         (WebCore::LayerRendererChromium::drawYUV):
65         (WebCore::LayerRendererChromium::drawRGBA):
66         (WebCore::LayerRendererChromium::drawNativeTexture2D):
67         (WebCore::LayerRendererChromium::drawStreamTexture):
68         (WebCore::LayerRendererChromium::drawVideoQuad):
69         * platform/graphics/chromium/LayerTextureSubImage.cpp:
70         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
71         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
72         * platform/graphics/chromium/TextureCopier.cpp:
73         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
74         (WebCore::CCVideoDrawQuad::create):
75         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
76         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
77         (CCVideoDrawQuad):
78         (WebCore::CCVideoDrawQuad::planes):
79         (WebCore::CCVideoDrawQuad::frameProviderTextureId):
80         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
81         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
82         (WebCore::CCVideoLayerImpl::willDraw):
83         (WebCore::CCVideoLayerImpl::willDrawInternal):
84         (WebCore::CCVideoLayerImpl::appendQuads):
85         (WebCore::CCVideoLayerImpl::didDraw):
86         (WebCore::CCVideoLayerImpl::FramePlane::allocateData):
87         (WebCore):
88         (WebCore::CCVideoLayerImpl::FramePlane::freeData):
89         (WebCore::CCVideoLayerImpl::allocatePlaneData):
90         (WebCore::CCVideoLayerImpl::copyPlaneData):
91         (WebCore::CCVideoLayerImpl::freePlaneData):
92         (WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
93         (WebCore::CCVideoLayerImpl::didLoseContext):
94         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
95         (FramePlane):
96         (WebCore::CCVideoLayerImpl::FramePlane::FramePlane):
97
98 2012-06-11  Joshua Bell  <jsbell@chromium.org>
99
100         IndexedDB: Object stores are not successfully deleted
101         https://bugs.webkit.org/show_bug.cgi?id=88788
102
103         Reviewed by Tony Chang.
104
105         Discovered while working on http://webkit.org/b/83074 - object stores are not
106         being deleted from the backing store. Deletion would succeed in the in-memory
107         data structures, but after closing/re-opening the backing store the object store
108         (but not its indexes/data) would reappear. Due to 83074, this isn't detectable
109         by DRT without a full restart.
110
111         Test: [chromium] webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'
112
113         * Modules/indexeddb/IDBLevelDBCoding.cpp:
114         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
115
116 2012-06-05  Eric Uhrhane <ericu@chromium.org>
117
118         Crash in fast/files/read tests during Garbage Collection
119         https://bugs.webkit.org/show_bug.cgi?id=87165
120
121         Reviewed by Michael Saboff
122
123         Fix previous fix for hasPendingActivity, and fix a bug in a complex
124         abort case as well--abort during the final progress event of a write
125         would hang the writer.
126
127         * Modules/filesystem/FileWriter.cpp:
128         (WebCore::FileWriter::stop):
129         (WebCore::FileWriter::write):
130         (WebCore::FileWriter::truncate):
131         (WebCore::FileWriter::didWrite):
132         (WebCore::FileWriter::didTruncate):
133         (WebCore::FileWriter::didFail):
134         (WebCore::FileWriter::completeAbort):
135         (WebCore::FileWriter::doOperation):
136         (WebCore::FileWriter::signalCompletion):
137
138 2012-06-11  Shawn Singh  <shawnsingh@chromium.org>
139
140         [chromium] Implement position:fixed in compositor thread
141         https://bugs.webkit.org/show_bug.cgi?id=70103
142
143         Reviewed by Adrienne Walker.
144
145         Significant contributions to this patch by Alpha Lam and Sami Kyostila.
146
147         This patch is the compositor-side change that adds support for
148         fixed-position layers to be composited layers. Before this patch,
149         fixed-position elements were positioned only by WebCore (i.e. main
150         thread when painting), and the compositor did not have enough
151         knowledge on its own to position it properly. This patch adds the
152         necessary math and plumbs the necessary layer information so that
153         the impl thread can properly position fixed-position elements on
154         its own. This support is necessary for correctness of composited
155         fixed-position elements, which can greatly help to avoid
156         repainting container layers when scrolling with a fixed-position
157         layer.
158
159         There also needs to be WebCore-side support for this, which is
160         addressed in https://bugs.webkit.org/show_bug.cgi?id=78864
161
162         Unit tests added to CCLayerTreeHostCommonTest:
163           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDirectContainer
164           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithTransformedDirectContainer
165           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainer
166           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainerAndTransforms
167           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleScrollDeltas
168           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithIntermediateSurfaceAndTransforms
169           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleIntermediateSurfaces
170           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface
171           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatIsAlsoFixedPositionContainer
172           CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatHasNoContainer
173
174         * platform/graphics/chromium/LayerChromium.cpp:
175         (WebCore::LayerChromium::LayerChromium):
176         (WebCore::LayerChromium::pushPropertiesTo):
177         * platform/graphics/chromium/LayerChromium.h:
178         (WebCore::LayerChromium::setIsContainerForFixedPositionLayers):
179         (WebCore::LayerChromium::isContainerForFixedPositionLayers):
180         (LayerChromium):
181         (WebCore::LayerChromium::setFixedToContainerLayerVisibleRect):
182         (WebCore::LayerChromium::fixedToContainerLayerVisibleRect):
183         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
184         (WebCore::CCLayerImpl::CCLayerImpl):
185         * platform/graphics/chromium/cc/CCLayerImpl.h:
186         (WebCore::CCLayerImpl::setIsContainerForFixedPositionLayers):
187         (WebCore::CCLayerImpl::isContainerForFixedPositionLayers):
188         (CCLayerImpl):
189         (WebCore::CCLayerImpl::setFixedToContainerLayerVisibleRect):
190         (WebCore::CCLayerImpl::fixedToContainerLayerVisibleRect):
191         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
192         (WebCore::computeScrollCompensationForThisLayer):
193         (WebCore):
194         (WebCore::computeScrollCompensationMatrixForChildren):
195         (WebCore::calculateDrawTransformsInternal):
196         (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
197
198 2012-06-11  Sam Weinig  <sam@webkit.org>
199
200         Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
201         https://bugs.webkit.org/show_bug.cgi?id=88723
202
203         Reviewed by Dan Bernstein.
204
205         * WebCore.exp.in:
206         Update export.
207         * editing/Editor.cpp:
208         (WebCore::Editor::rangeOfString):
209         (WebCore::Editor::countMatchesForText):
210         * editing/Editor.h:
211         (Editor):
212         * loader/FrameLoader.cpp:
213         (WebCore::FrameLoader::findFrameForNavigation):
214         * page/DOMWindow.cpp:
215         (WebCore::DOMWindow::parent):
216         (WebCore::DOMWindow::top):
217         * page/EventHandler.cpp:
218         (WebCore::EventHandler::hitTestResultAtPoint):
219         * page/Frame.cpp:
220         (WebCore::Frame::Frame):
221         * page/Frame.h:
222         (Frame):
223         * page/FrameTree.cpp:
224         (WebCore::FrameTree::parent):
225         (WebCore::FrameTree::top):
226         * page/FrameTree.h:
227         (FrameTree):
228         * page/Location.cpp:
229         (WebCore::Location::ancestorOrigins):
230         * xml/XMLTreeViewer.cpp:
231         (WebCore::XMLTreeViewer::hasNoStyleInformation):
232         Update for the removal of disconnected frames and text search exclusions concepts.
233
234 2012-06-11  Xianzhu Wang  <wangxianzhu@chromium.org>
235
236         SVGImageCache leaks image data
237         https://bugs.webkit.org/show_bug.cgi?id=87792
238
239         There are two functions to remove a client from a CachedImage:
240         - CachedResource::removeClient()
241         - CachedImage::removeClientForRenderer().
242         It's easy to make error to call the former which will leak the cached
243         image buffers in SVGImageCache.
244
245         This change combined the two by adding the virtual 
246         CachedResource::didRemoveClient(). CachedImage will do SVGImageCache
247         cleanup in the function.
248
249         Reviewed by Nikolas Zimmermann.
250
251         Test: svg/as-image/svg-image-leak-cached-data.html
252
253         * loader/cache/CachedFont.h:
254         (WebCore::CachedFontClient::resourceClientType): Added 'const'.
255         * loader/cache/CachedImage.cpp:
256         (WebCore):
257         (WebCore::CachedImage::didRemoveClient): Removes the client from SVGImageCache.
258         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
259         * loader/cache/CachedImage.h:
260         (CachedImage):
261         (WebCore::CachedImageClient::resourceClientType): Added 'const'.
262         * loader/cache/CachedRawResource.h:
263         (WebCore::CachedRawResourceClient::resourceClientType): Added 'const'.
264         * loader/cache/CachedResource.cpp:
265         (WebCore::CachedResource::removeClient): Added invocation of didRemoveClient().
266         * loader/cache/CachedResource.h:
267         (WebCore::CachedResource::didRemoveClient): Added for subclasses to do additional works.
268         * loader/cache/CachedResourceClient.h:
269         (WebCore::CachedResourceClient::resourceClientType): Added 'const'.
270         * loader/cache/CachedSVGDocument.h:
271         (WebCore::CachedSVGDocumentClient::resourceClientType): Added 'const'.
272         * loader/cache/CachedStyleSheetClient.h:
273         (WebCore::CachedStyleSheetClient::resourceClientType): Added 'const'.
274         * rendering/style/StyleCachedImage.cpp:
275         (WebCore::StyleCachedImage::removeClient):
276         * rendering/style/StyleCachedImageSet.cpp:
277         (WebCore::StyleCachedImageSet::removeClient):
278         * svg/graphics/SVGImageCache.cpp:
279         (WebCore::SVGImageCache::~SVGImageCache): Added checking for leaks.
280         (WebCore::SVGImageCache::removeClientFromCache):
281         (WebCore::SVGImageCache::setRequestedSizeAndScales): 
282         (WebCore::SVGImageCache::requestedSizeAndScales):
283         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForClient):
284         * svg/graphics/SVGImageCache.h:
285         (WebCore):
286         (SVGImageCache):
287
288 2012-06-11  Mark Pilgrim  <pilgrim@chromium.org>
289
290         [Chromium] Call shared timer functions directly
291         https://bugs.webkit.org/show_bug.cgi?id=88781
292
293         Reviewed by Adam Barth.
294
295         Part of a refactoring series. See tracking bug 82948.
296
297         * platform/chromium/PlatformSupport.h:
298         (PlatformSupport):
299         * platform/chromium/SharedTimerChromium.cpp:
300         (WebCore::setSharedTimerFiredFunction):
301         (WebCore::setSharedTimerFireInterval):
302
303 2012-06-11  Pravin D  <pravind.2k4@gmail.com>
304
305         Relative pos. input fields in columns vanish when you start typing in them
306         https://bugs.webkit.org/show_bug.cgi?id=76834
307
308         Reviewed by Julien Chaffraix.
309
310         Test: fast/multicol/multicol-with-child-renderLayer-for-input.html
311
312         * page/FrameView.cpp:
313         (WebCore::updateLayerPositionFlags):
314         Helper function to prepare the UpdateLayerPositionsFlags based on the input parameters.
315         If didFullRepaint flag is set, then CheckForRepaints flag is removed from the default flags.
316         Also during a relayout of a subtree, if the RenderLayer of the subtree root is paginated then updatePagination flag is
317         included in the flags. 
318
319         (WebCore):
320         (WebCore::FrameView::layout):
321         Now uses the helper function updateLayerPositionFlags() to get the final set of UpdateLayerPositionsFlags.
322
323         * rendering/RenderLayer.h:
324         (WebCore::RenderLayer::isPaginated):
325         (RenderLayer):
326         isPaginated function is made public so that FrameView class can use it prepare UpdateLayerPositionsFlags.
327
328 2012-06-11  Mark Pilgrim  <pilgrim@chromium.org>
329
330         [Chromium] Remove some dead code in PasteboardChromium
331         https://bugs.webkit.org/show_bug.cgi?id=88782
332
333         Reviewed by Adam Barth.
334
335         Part of a refactoring series. See tracking bug 82948.
336         Leftover detritus from bug 88038.
337
338         * platform/chromium/PasteboardChromium.cpp:
339         (WebCore::Pasteboard::documentFragment):
340
341 2012-06-11  Peter Beverloo  <peter@chromium.org>
342
343         [Chromium] Theme updates for Android in menu list rendering and selection backgrounds
344         https://bugs.webkit.org/show_bug.cgi?id=88775
345
346         Reviewed by Adam Barth.
347
348         For Chrome on Android, use the width of the scrollbar down arrow instead
349         of the scrollbar's width for determining the arrow padding to apply for
350         menu list rendering, as WebKit isn't drawing a scrollbar (thus width=0).
351
352         Furthermore, change the default active selection background color to be
353         equal to the tap highlighting color.
354
355         These changes should be covered by existing layout tests.
356
357         * rendering/RenderThemeChromiumAndroid.cpp:
358         (WebCore::RenderThemeChromiumAndroid::menuListArrowPadding):
359         (WebCore): Retrieve the scrollbar down arrow's size via PlatformSupport.
360         * rendering/RenderThemeChromiumAndroid.h: Override the menuListArrowPadding
361             and platformActiveSelectionBackgroundColor methods, and add a static
362             static RGBA32 color for the default active selection bg color.
363         * rendering/RenderThemeChromiumSkia.cpp:
364         (WebCore::RenderThemeChromiumSkia::menuListArrowPadding): Default to
365             the scrollbar thickness, not changing behavior for non-Android.
366         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): Instead
367             of polling the scrollbar thickness, call menuListArrowPadding().
368         * rendering/RenderThemeChromiumSkia.h: 
369         (RenderThemeChromiumSkia): Add the menuListArrowPadding() as a protected method.
370
371 2012-06-11  David Barr  <davidbarr@chromium.org>
372
373         Add css3-images image-resolution (dppx only)
374         https://bugs.webkit.org/show_bug.cgi?id=85332
375
376         Reviewed by Tony Chang.
377
378         The css3-images module is at candidate recommendation.
379         http://www.w3.org/TR/2012/CR-css3-images-20120417/#image-resolution
380
381         Test: fast/css/image-resolution.html
382
383         * css/CSSComputedStyleDeclaration.cpp:
384         (WebCore):
385         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
386         * css/CSSGrammar.y:
387         * css/CSSParser.cpp:
388         (WebCore::CSSParser::validUnit):
389         (WebCore::CSSParser::createPrimitiveNumericValue):
390         (WebCore::unitFromString):
391         (WebCore::CSSParser::parseValidPrimitive):
392         (WebCore::CSSParser::parseValue):
393         (WebCore):
394         (WebCore::CSSParser::parseImageResolution):
395         (WebCore::CSSParser::detectNumberToken):
396         * css/CSSParser.h:
397         * css/CSSPrimitiveValue.cpp:
398         (WebCore::isValidCSSUnitTypeForDoubleConversion):
399         (WebCore::unitCategory):
400         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
401         (WebCore::CSSPrimitiveValue::customCssText):
402         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
403         * css/CSSPrimitiveValue.h:
404         * css/CSSProperty.cpp:
405         (WebCore::CSSProperty::isInheritedProperty):
406         * css/CSSPropertyNames.in:
407         * css/StyleBuilder.cpp:
408         (WebCore):
409         (ApplyPropertyImageResolution):
410         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
411         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
412         (WebCore::ApplyPropertyImageResolution::applyValue):
413         (WebCore::ApplyPropertyImageResolution::createHandler):
414         (WebCore::StyleBuilder::StyleBuilder):
415         * css/StyleResolver.cpp:
416         (WebCore::StyleResolver::collectMatchingRulesForList):
417         * rendering/RenderImage.cpp:
418         (WebCore::RenderImage::styleDidChange):
419         (WebCore::RenderImage::imageDimensionsChanged):
420         * rendering/style/RenderStyle.cpp:
421         (WebCore::RenderStyle::diff):
422         * rendering/style/RenderStyle.h:
423         * rendering/style/StyleRareInheritedData.cpp:
424         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
425         (WebCore::StyleRareInheritedData::operator==):
426         * rendering/style/StyleRareInheritedData.h:
427         (StyleRareInheritedData):
428
429 2012-06-05  Dana Jansens  <danakj@chromium.org>
430
431         [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed
432         https://bugs.webkit.org/show_bug.cgi?id=88371
433
434         Reviewed by James Robinson.
435
436         Unit test: CCLayerTreeHostImplTest.layersFreeTextures
437
438         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
439         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
440         (WebCore::CCIOSurfaceLayerImpl::willDraw):
441
442 2012-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
443
444         Unreviewed. Fix make distcheck issues.
445
446         * GNUmakefile.am: Add idl files in editing dir to EXTRA_DIST.
447         * GNUmakefile.list.am: Add missing header file.
448
449 2012-06-11  Dan Bernstein  <mitz@apple.com>
450
451         Reverted r119940 because it caused multiple media tests to fail on Lion.
452
453         * html/HTMLMediaElement.cpp:
454         (WebCore::HTMLMediaElement::prepareForLoad):
455         (WebCore):
456         (WebCore::HTMLMediaElement::userCancelledLoad):
457         * html/HTMLMediaElement.h:
458         (HTMLMediaElement):
459         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
460         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
461
462 2012-06-11  Zoltan Horvath  <zoltan@webkit.org>
463
464         [Qt] Add config tests for WEBP imagedecoder library, modify HAVE(decoderlibrary) to USE(...)$
465         https://bugs.webkit.org/show_bug.cgi?id=87841
466
467         Reviewed by Simon Hausmann.
468
469         No new tests were needed.
470
471         * Target.pri:
472         * WebCore.pri:
473         * platform/image-decoders/ImageDecoder.cpp:
474         (WebCore::ImageDecoder::create):
475
476 2012-06-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
477
478         Add QML api for setting device width and height
479         https://bugs.webkit.org/show_bug.cgi?id=88777
480
481         Reviewed by Simon Hausmann.
482
483         Change the default values for deviceWidth/Height to be 0 (unset). The
484         original values were introduced by Qt and 0 makes it possible to
485         detect if a value has never been set and therefore fall back.
486
487         Only Qt depended on the former values.
488
489         * page/Settings.cpp:
490         (WebCore::Settings::Settings):
491
492 2012-06-11  Csaba Osztrogonác  <ossy@webkit.org>
493
494         [Qt][Win] Fix UString related build problem in Source/WebCore/bridge/qt/qt_instance.cpp
495         https://bugs.webkit.org/show_bug.cgi?id=88310
496
497         Reviewed by Simon Hausmann.
498
499         * bridge/qt/qt_instance.cpp:
500         (JSC::Bindings::QtInstance::getPropertyNames):
501
502 2012-06-11  Michael Brüning  <michael.bruning@nokia.com>
503
504         [Qt][WK2] Compute and set cache capacities using the current CacheModel
505         https://bugs.webkit.org/show_bug.cgi?id=73918
506
507         Unreviewed build fix.
508
509         No new tests added as this is a build fix.
510
511         * platform/qt/FileSystemQt.cpp:
512
513 2012-06-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
514
515         Rect-based hittesting doesn't work in tables.
516         https://bugs.webkit.org/show_bug.cgi?id=86605
517
518         Reviewed by Julien Chaffraix.
519
520         The existing code only performed a single binary lookup for the central
521         hit-test point. This meant area-based hit-testing did not work across
522         table-cell borders. All cells spanned by a hit-test area must be hit
523         tested.
524
525         This patch introduces three auxilary functions to help calculate rows
526         and columns spanned by an rect. These are intended to also be used by
527         repaint logic in a later patch.
528
529         For point-based hit-testing we maintain unchanged behavior and still
530         only hit test a single column in a single row.
531
532         Test: fast/dom/nodesFromRect-table.html
533
534         * rendering/RenderTableSection.cpp:
535         (WebCore::RenderTableSection::logicalRectForWritingModeAndDirection):
536         (WebCore::RenderTableSection::spannedRows):
537         (WebCore::RenderTableSection::spannedColumns):
538         (WebCore::RenderTableSection::nodeAtPoint):
539         * rendering/RenderTableSection.h:
540         (RenderTableSection):
541
542 2012-06-11  Min Qin  <qinmin@google.com>
543
544         Adding a flag to show fullscreen media controls in chromium
545         https://bugs.webkit.org/show_bug.cgi?id=88266
546
547         Reviewed by Adam Barth.
548
549         The default chromium shadow DOM for media element does not contain fullscreen button.
550         This change adds a flag to display the fullscreen button.
551         It will be used by the android port.
552
553         No new tests needed. We will use the same layout tests as desktop chromium.
554         However, new test result expections will be added later.
555
556         * html/shadow/MediaControlRootElementChromium.cpp:
557         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
558         (WebCore::MediaControlRootElementChromium::create):
559         (WebCore::MediaControlRootElementChromium::setMediaController):
560         (WebCore::MediaControlRootElementChromium::reset):
561         (WebCore::MediaControlRootElementChromium::reportedError):
562         * html/shadow/MediaControlRootElementChromium.h:
563         (MediaControlRootElementChromium):
564
565 2012-06-11  Michael Brüning  <michael.bruning@nokia.com>
566
567         [Qt][WK2] Compute and set cache capacities using the current CacheModel
568         https://bugs.webkit.org/show_bug.cgi?id=73918
569
570         Reviewed by Kenneth Rohde Christiansen.
571
572         No new tests needed / applicable (using operating system functionality).
573
574         Added method to read free file system space for a path to support cache model
575         implementation in Qt WK 2.
576
577         * platform/FileSystem.h:
578         (WebCore):
579         * platform/qt/FileSystemQt.cpp:
580         (WebCore::getVolumeFreeSizeForPath): Added for Qt ports.
581         (WebCore):
582
583 2012-06-11  Peter Wang  <peter.wang@torchmobile.com.cn>
584
585         [JSC] Web Inspector: implement breaking from native callback
586         https://bugs.webkit.org/show_bug.cgi?id=43332
587
588         Reviewed by Pavel Feldman.
589
590         These test cases were enabled:
591         LayoutTests/inspector/debugger/dom-breakpoints.html
592         LayoutTests/inspector/debugger/event-listener-breakpoints.html
593         LayoutTests/inspector/debugger/step-through-event-listeners.html
594         LayoutTests/inspector/debugger/xhr-breakpoints.html
595
596         * bindings/js/ScriptDebugServer.cpp:
597         (WebCore::ScriptDebugServer::breakProgram):
598         * bindings/js/ScriptDebugServer.h:
599         (WebCore::supportsNativeBreakpoints):
600
601 2012-06-11  MORITA Hajime  <morrita@google.com>
602
603         Spellchecker crash in async scenario.
604         https://bugs.webkit.org/show_bug.cgi?id=88617
605
606         Reviewed by Tony Chang.
607
608         SpellCheckRequest::invokeRequest() can be reached after the frame is detached.
609         SpellCheckRequest should ignore such a request since TextCheckerClient is not available
610         for detached Frames.
611
612         No new tests. It's hard to reproduce this.
613
614         * editing/SpellChecker.cpp:
615         (WebCore::SpellChecker::invokeRequest):
616
617 2012-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
618
619         [EFL] Extract CursorMap from WidgetEfl.cpp.
620         https://bugs.webkit.org/show_bug.cgi?id=88633
621
622         Reviewed by Ryosuke Niwa.
623
624         In order to share CursorMap in WebKit/efl and UIProcess of WebKit2/Efl,
625         extract it and expose getEcoreCursor.
626
627         No new tests, refactoring only.
628
629         * platform/efl/EflScreenUtilities.cpp:
630         (WebCore):
631         (CursorMap):
632         (WebCore::CursorMap::cursor):
633         (WebCore::CursorMap::CursorMap):
634         (WebCore::getEcoreCursor):
635         * platform/efl/EflScreenUtilities.h:
636         (WebCore):
637         * platform/efl/WidgetEfl.cpp:
638         (WebCore::Widget::applyFallbackCursor):
639
640 2012-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
641
642         Unreviewed, rolling out r119955.
643         http://trac.webkit.org/changeset/119955
644         https://bugs.webkit.org/show_bug.cgi?id=88758
645
646         Breaks Chromium compile - Chromium depends on removed API
647         (Requested by dominicc on #webkit).
648
649         * WebCore.exp.in:
650         * editing/Editor.cpp:
651         (WebCore::Editor::insideVisibleArea):
652         (WebCore):
653         (WebCore::Editor::firstVisibleRange):
654         (WebCore::Editor::lastVisibleRange):
655         (WebCore::Editor::nextVisibleRange):
656         (WebCore::Editor::rangeOfString):
657         (WebCore::Editor::countMatchesForText):
658         * editing/Editor.h:
659         (Editor):
660         * loader/FrameLoader.cpp:
661         (WebCore::FrameLoader::findFrameForNavigation):
662         * page/DOMWindow.cpp:
663         (WebCore::DOMWindow::parent):
664         (WebCore::DOMWindow::top):
665         * page/EventHandler.cpp:
666         (WebCore::EventHandler::hitTestResultAtPoint):
667         * page/Frame.cpp:
668         (WebCore::Frame::Frame):
669         * page/Frame.h:
670         (Frame):
671         (WebCore::Frame::isDisconnected):
672         (WebCore):
673         (WebCore::Frame::setIsDisconnected):
674         (WebCore::Frame::excludeFromTextSearch):
675         (WebCore::Frame::setExcludeFromTextSearch):
676         * page/FrameTree.cpp:
677         (WebCore::FrameTree::parent):
678         (WebCore::FrameTree::top):
679         * page/FrameTree.h:
680         (FrameTree):
681         * page/Location.cpp:
682         (WebCore::Location::ancestorOrigins):
683         * xml/XMLTreeViewer.cpp:
684         (WebCore::XMLTreeViewer::hasNoStyleInformation):
685
686 2012-06-08  Kinuko Yasuda  <kinuko@chromium.org>
687
688         Using BlobBuilder should show a deprecation warning message (if it is enabled)
689         https://bugs.webkit.org/show_bug.cgi?id=88644
690
691         Reviewed by Jian Li.
692
693         Mac has already disabled BlobBuilder, but Chromium still has it.
694         We should start showing a warning to let people migrate to using Blob constructor.
695
696         Tests: fast/files/blob-builder-crash.html
697
698         * fileapi/WebKitBlobBuilder.cpp:
699         (WebCore):
700         (WebCore::WebKitBlobBuilder::create):
701         * fileapi/WebKitBlobBuilder.h:
702         (WebCore):
703         (WebKitBlobBuilder):
704         * fileapi/WebKitBlobBuilder.idl:
705
706 2012-06-10  Sam Weinig  <sam@webkit.org>
707
708         Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
709         https://bugs.webkit.org/show_bug.cgi?id=88723
710
711         Reviewed by Dan Bernstein.
712
713         * WebCore.exp.in:
714         Update export.
715         * editing/Editor.cpp:
716         (WebCore::Editor::rangeOfString):
717         (WebCore::Editor::countMatchesForText):
718         * editing/Editor.h:
719         (Editor):
720         * loader/FrameLoader.cpp:
721         (WebCore::FrameLoader::findFrameForNavigation):
722         * page/DOMWindow.cpp:
723         (WebCore::DOMWindow::parent):
724         (WebCore::DOMWindow::top):
725         * page/EventHandler.cpp:
726         (WebCore::EventHandler::hitTestResultAtPoint):
727         * page/Frame.cpp:
728         (WebCore::Frame::Frame):
729         * page/Frame.h:
730         (Frame):
731         * page/FrameTree.cpp:
732         (WebCore::FrameTree::parent):
733         (WebCore::FrameTree::top):
734         * page/FrameTree.h:
735         (FrameTree):
736         * page/Location.cpp:
737         (WebCore::Location::ancestorOrigins):
738         * xml/XMLTreeViewer.cpp:
739         (WebCore::XMLTreeViewer::hasNoStyleInformation):
740         Update for the removal of disconnected frames and text search exclusions concepts.
741
742 2012-06-07  Kinuko Yasuda  <kinuko@google.com>
743
744         Move Quota related code out of DOMWindow and into the quota/ folder
745         https://bugs.webkit.org/show_bug.cgi?id=88512
746
747         Reviewed by Adam Barth.
748
749         No new tests: no visible changes.
750
751         * CMakeLists.txt:
752         * DerivedSources.cpp:
753         * DerivedSources.make:
754         * DerivedSources.pri:
755         * Modules/quota/DOMWindowQuota.cpp: Added.
756         * Modules/quota/DOMWindowQuota.h: Added.
757         * Modules/quota/DOMWindowQuota.idl: Added.
758         * Modules/quota/StorageInfo.cpp: Renamed from Source/WebCore/storage/StorageInfo.cpp.
759         * Modules/quota/StorageInfo.h: Renamed from Source/WebCore/storage/StorageInfo.h.
760         * Modules/quota/StorageInfo.idl: Renamed from Source/WebCore/storage/StorageInfo.idl.
761         * Modules/quota/StorageInfoErrorCallback.h: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.h.
762         * Modules/quota/StorageInfoErrorCallback.idl: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.idl.
763         * Modules/quota/StorageInfoQuotaCallback.h: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.h.
764         * Modules/quota/StorageInfoQuotaCallback.idl: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.idl.
765         * Modules/quota/StorageInfoUsageCallback.h: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.h.
766         * Modules/quota/StorageInfoUsageCallback.idl: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.idl.
767         * Target.pri:
768         * WebCore.gyp/WebCore.gyp:
769         * WebCore.gypi:
770         * WebCore.pri:
771         * WebCore.vcproj/WebCore.vcproj:
772         * WebCore.vcproj/WebCoreCommon.vsprops:
773         * WebCore.vcproj/copyForwardingHeaders.cmd:
774         * WebCore.xcodeproj/project.pbxproj:
775         * page/DOMWindow.cpp:
776         * page/DOMWindow.h:
777         * page/DOMWindow.idl:
778
779 2012-06-10  Hayato Ito  <hayato@chromium.org>
780
781         An inheritance of '-webkit-user-modify' does not stop at shadow boundary.
782         https://bugs.webkit.org/show_bug.cgi?id=88514
783
784         Reviewed by Ryosuke Niwa.
785
786         In StyleResolver::styleForElement(), we reset '-webkit-user-modify'
787         CSS property after inheriting a parent style, but that is not
788         enough.  We also have to reset '-webkit-user-modify' when we use a
789         cached result in applying matched properties.
790
791         Test: fast/dom/shadow/user-modify-inheritance.html
792
793         * css/StyleResolver.cpp:
794         (WebCore::StyleResolver::applyMatchedProperties):
795         (WebCore::StyleResolver::styleForElement):
796         * css/StyleResolver.h:
797         (StyleResolver):
798         * rendering/style/RenderStyle.cpp:
799         (WebCore::RenderStyle::inheritFrom):
800         * rendering/style/RenderStyle.h:
801
802 2012-06-10  Yoshifumi Inoue  <yosin@chromium.org>
803
804         [Forms] Introduce Decimal behind the InputNumber type
805         https://bugs.webkit.org/show_bug.cgi?id=88383
806
807         Reviewed by Kent Tamura.
808
809         This patch introduces decimal arithmetic for steppable input types,
810         e.g. date, datetime, number, range, and so on, to avoid rounding error
811         caused by base 2 floating point representation, e.g. C/C++ double type.
812
813         Most of decimal arithmetic calculations are implemented in StepRange
814         class, replacing "double" with "Decimal", InputType::applyStep, and
815         InputType::stepFromRenderer.
816
817         Changes introduced by this patch are still intermediate state.
818         Following patch will replace InputNumber type to Decimal type for
819         completion of introducing decimal arithmetic.
820
821         Test: fast/forms/range/range-value-rounding.html
822
823         * html/BaseDateAndTimeInputType.cpp:
824         (WebCore::BaseDateAndTimeInputType::serialize): Changed for Decimal type.
825         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): ditto.
826         * html/DateInputType.cpp:
827         (WebCore::DateInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
828         * html/DateTimeInputType.cpp:
829         (WebCore::DateTimeInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
830         * html/DateTimeLocalInputType.cpp:
831         (WebCore::DateTimeLocalInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
832         * html/InputType.cpp:
833         (WebCore::InputType::rangeUnderflow): Changed for Decimal type.
834         (WebCore::InputType::rangeOverflow): Changed for Decimal type.
835         (WebCore::InputType::minimum): Changed for Decimal type.
836         (WebCore::InputType::maximum): ditto.
837         (WebCore::InputType::isInRange): ditto.
838         (WebCore::InputType::isOutOfRange): ditto.
839         (WebCore::InputType::stepMismatch): ditto.
840         (WebCore::InputType::validationMessage): ditto.
841         (WebCore::InputType::parseToNumberOrNaN): ditto.
842         (WebCore::InputType::applyStep): ditto.
843         (WebCore::InputType::stepUpFromRenderer): ditto.
844         * html/InputType.h:
845         (InputType): Removed parseToNumberWIthDecimaplPlaces.
846         * html/MonthInputType.cpp:
847         (WebCore::MonthInputType::createStepRange): Changed for Decimal type.
848         * html/NumberInputType.cpp:
849         (WebCore::RealNumberRenderSize): Added for calculateRenderSize.
850         (WebCore::calculateRenderSize): Added. This function replacess lengthBeforeDecimalPoint.
851         (WebCore::NumberInputType::createStepRange): Changed for Decimal type.
852         (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed to use calculateRenderSize.
853         (WebCore::NumberInputType::parseToNumber): Changed for Decimal type.
854         (WebCore::NumberInputType::serialize): ditto.
855         * html/NumberInputType.h:
856         (NumberInputType): Removed parseToNumberWIthDecimaplPlaces.
857         * html/RangeInputType.cpp:
858         (WebCore::RangeInputType::createStepRange): Changed for Decimal type.
859         (WebCore::RangeInputType::handleKeydownEvent): ditto.
860         (WebCore::RangeInputType::parseToNumber): ditto.
861         (WebCore::RangeInputType::serialize): ditto.
862         * html/StepRange.cpp:
863         (WebCore::StepRange::StepRange): Removed decimal places and changed for Decimal type.
864         (WebCore::StepRange::acceptableError): Changed for Decimal type.
865         (WebCore::StepRange::alignValueForStep): ditto.
866         (WebCore::StepRange::clampValue): Changed for Decimal type and std::min/max.
867         (WebCore::StepRange::parseStep): Changed for Decimal type and removed NumberWithDecimalPlaces.
868         (WebCore::StepRange::stepMismatch): Changed for Decimal type.
869         (WebCore::convertDoubleToInputNumber): Changed to real implementation.
870         (WebCore::convertInputNumberToDouble):  Changed to real implementation.
871         * html/StepRange.h:
872         (InputNumber): Replacement of NumberWithDecimalPlaces.
873         (WebCore::StepRange::InputNumber::InputNumber):
874         * html/TimeInputType.cpp:
875         (WebCore::TimeInputType::createStepRange): Changed for Decimal type.
876         * html/WeekInputType.cpp:
877         (WebCore::WeekInputType::createStepRange): Changed for Decimal type.
878         * html/parser/HTMLParserIdioms.cpp:
879         (WebCore::serializeForNumberType): Added Decimal version.
880         (WebCore::parseToDecimalForNumberType): Added.
881         * html/parser/HTMLParserIdioms.h: Updated comments for parseToDoubleForNumberType.
882         * html/shadow/SliderThumbElement.cpp:
883         (WebCore::sliderPosition): Changed for Decimal type.
884
885 2012-06-10  Jason Liu  <jason.liu@torchmobile.com.cn>
886
887         [BlackBerry] Possible to clobber httponly cookie.
888         https://bugs.webkit.org/show_bug.cgi?id=86067
889
890         Reviewed by Rob Buis.
891
892         If a cookie is set by javaScript and there is already a same httpOnly cookie in cookieManager,
893         we should reject it. If it has a httpOnly property, we reject it, too.
894
895         Test: http/tests/cookies/js-get-and-set-http-only-cookie.html
896
897         * platform/blackberry/CookieJarBlackBerry.cpp:
898         (WebCore::setCookies):
899         * platform/blackberry/CookieManager.cpp:
900         (WebCore::CookieManager::setCookies):
901         (WebCore::CookieManager::checkAndTreatCookie):
902         (WebCore::CookieManager::addCookieToMap):
903         (WebCore::CookieManager::setPrivateMode):
904         * platform/blackberry/CookieManager.h:
905         * platform/blackberry/CookieMap.cpp:
906         (WebCore::CookieMap::addOrReplaceCookie):
907         (WebCore::CookieMap::removeCookie):
908         * platform/blackberry/CookieMap.h:
909         (CookieMap):
910
911 2012-06-10  Pablo Flouret  <pablof@motorola.com>
912
913         Access control allow lists starting with a comma are parsed incorrectly (CORS)
914         https://bugs.webkit.org/show_bug.cgi?id=88461
915
916         Reviewed by Adam Barth.
917
918         The parsing algorithm would stop parsing at the first comma (being an
919         empty entry, of sorts) and bail out, effectively ignoring the whole
920         header.
921
922         Test: http/tests/xmlhttprequest/access-control-allow-lists-starting-with-comma.html
923
924         * loader/CrossOriginPreflightResultCache.cpp:
925         (WebCore::parseAccessControlAllowList):
926
927 2012-06-10  Darin Adler  <darin@apple.com>
928
929         Some additional tweaks to keep TreeShared code simple/clean
930         https://bugs.webkit.org/show_bug.cgi?id=88738
931
932         Reviewed by Adam Barth.
933
934         * platform/TreeShared.h: Make constructor and destructor both protected.
935         It's slightly dangerous to have a public non-virtual destructor, and there
936         is no reason it needs to be public.
937         (WebCore::TreeShared::~TreeShared): Make debug-only destructor non-virtual;
938         we were getting no value from it being virtual. Now that it's non-virtual,
939         there is no need to use an #if on it since it's an empty inline destructor
940         in non-debug builds.
941
942 2012-06-06  Jer Noble  <jer.noble@apple.com>
943
944         REGRESSION: Setting invalid media "src" does not cause "error" event
945         https://bugs.webkit.org/show_bug.cgi?id=88423
946
947         Reviewed by Eric Carlson.
948
949         Test: http/tests/media/video-src-invalid-error.html
950
951         Two problems here.  When the loadTimer is scheduled, the m_pendingLoadFlags
952         variable is set to specify what type of load is scheduled.  It is cleared
953         when the loadTimer fires. But, when prepareForLoad() stops the loadTimer,
954         it does not clear the m_pendingLoadFlags variable, so the next time
955         scheduleLoad() is called (when the src is changed to an invalid URL)
956         prepareForLoad() is not called again.
957
958         Second problem: Due to a bug in QTKit (<rdar://problem/11606415>), the
959         QTMovieLoadStateChangedNotification is never fired for an invalid http
960         URL if QTMovieOpenAsyncRequiredAttribute:YES is not passed when creating
961         the QTMovie.
962
963         Add a new utility method which both stops the m_loadTimer and clears the 
964         m_pendingLoadFlags, and use it in all the places where m_loadTimer was 
965         stopped explicitly:
966
967         * html/HTMLMediaElement.cpp:
968         (WebCore::HTMLMediaElement::prepareForLoad):
969         (WebCore::HTMLMediaElement::stopLoadTimer): Added
970         (WebCore::HTMLMediaElement::userCancelledLoad):
971         * html/HTMLMediaElement.h:
972
973         And pass QTMovieOpenAsyncRequiredAttribute:YES when creating the QTMovie:
974
975         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
976         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
977
978 2012-06-06  Jer Noble  <jer.noble@apple.com>
979
980         Add logging functions to MediaPlayerPrivateQTKit.
981         https://bugs.webkit.org/show_bug.cgi?id=88425
982
983         Reviewed by Eric Carlson.
984
985         No new tests; adds logging functions to aide debugging.
986
987         MediaPlayerPrivateQTKit should emit the same kind of logging messages as 
988         other MediaPlayerPrivate engines to aide in debugging.
989
990         Distinguish between loadedRangesChanged() and loadStateChanged() for logging
991         purposes:
992         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
993         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
994         (WebCore::MediaPlayerPrivateQTKit::loadedRangesChanged):
995         (-[WebCoreMovieObserver loadedRangesChanged:]):
996
997         Add LOG messages for each of the following functions:
998         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
999         (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
1000         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1001         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
1002         (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
1003         (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
1004         (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
1005         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1006         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
1007         (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
1008         (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
1009         (WebCore::MediaPlayerPrivateQTKit::load):
1010         (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
1011         (WebCore::MediaPlayerPrivateQTKit::play):
1012         (WebCore::MediaPlayerPrivateQTKit::pause):
1013         (WebCore::MediaPlayerPrivateQTKit::seek):
1014         (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
1015         (WebCore::MediaPlayerPrivateQTKit::setVolume):
1016         (WebCore::MediaPlayerPrivateQTKit::setRate):
1017         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
1018         (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
1019         (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
1020         (WebCore::MediaPlayerPrivateQTKit::updateStates):
1021         (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
1022         (WebCore::MediaPlayerPrivateQTKit::rateChanged):
1023         (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
1024         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1025         (WebCore::MediaPlayerPrivateQTKit::didEnd):
1026         (WebCore::MediaPlayerPrivateQTKit::clearMediaCache):
1027         (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite):
1028         (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
1029
1030 2012-06-07  Jer Noble  <jer.noble@apple.com>
1031
1032         WebCore should use a single definition of an invalid media time.
1033         https://bugs.webkit.org/show_bug.cgi?id=88572
1034
1035         Reviewed by Eric Carlson.
1036
1037         No new tests; no change in functionality, so covered by existing tests.
1038
1039         Add a new, universal definition for an invalid media time:
1040         * platform/graphics/MediaPlayer.h:
1041         (WebCore::MediaPlayer::invalidTime):
1042
1043         Use this new definition instead of the hodge podge of (identical) local
1044         definitions for an invalid media time:
1045         * html/HTMLMediaElement.cpp:
1046         (WebCore::HTMLMediaElement::HTMLMediaElement):
1047         (WebCore::HTMLMediaElement::invalidateCachedTime):
1048         (WebCore::HTMLMediaElement::currentTime):
1049         (WebCore::HTMLMediaElement::initialTime):
1050         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
1051         (WebCore::HTMLMediaElement::prepareMediaFragmentURI):
1052         (WebCore::HTMLMediaElement::applyMediaFragmentURI):
1053         * html/MediaFragmentURIParser.cpp:
1054         (WebCore::MediaFragmentURIParser::invalidTimeValue):
1055         (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
1056         (WebCore::MediaFragmentURIParser::startTime):
1057         (WebCore::MediaFragmentURIParser::endTime):
1058         (WebCore::MediaFragmentURIParser::parseTimeFragment):
1059         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1060         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1061         (WebCore::MediaPlayerPrivateAVFoundation::duration):
1062         (WebCore::MediaPlayerPrivateAVFoundation::seeking):
1063         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
1064         (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
1065         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1066         (MediaPlayerPrivateAVFoundation):
1067         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1068         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
1069         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1070         (WebCore::MediaPlayerPrivateQTKit::duration):
1071         (WebCore::MediaPlayerPrivateQTKit::updateStates):
1072         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1073
1074 2012-06-10  Darin Adler  <darin@apple.com>
1075
1076         Remove unneeded callRemovedLastRef function from TreeShared refactoring
1077         https://bugs.webkit.org/show_bug.cgi?id=88653
1078
1079         Reviewed by Sam Weinig.
1080
1081         * WebCore.exp.in: Updated to remove callRemovedLastRef and add removedLastRef.
1082
1083         * dom/ContainerNode.cpp: Removed callRemovedLastRef, which is no longer
1084         needed and also had a bad cast in it.
1085
1086         * dom/Document.h: Made removedLastRef private and non-virtual and made Node
1087         a friend so it can call the private function.
1088
1089         * dom/Node.cpp:
1090         (WebCore::Node::removedLastRef): Moved here. This should not be an inline
1091         function. Added comments explaining why it should not be inlined. Also added
1092         explicit code to call to Document::removedLastRef, and added a comment why
1093         that's the right thing to do here.
1094         * dom/Node.h: Inherit from TreeShared<Node, ContainerNode>. Made the
1095         removedLastRef function non-virtual and removed it from the header file.
1096         Updated TreeShared using statements. Made the TreeShared template class a
1097         friend so it can call the private removedLastRef.
1098
1099         * html/HTMLFormControlElement.h: Updated TreeShared using statements to specify
1100         Node instead, which accomplishes the same thing.
1101         * html/HTMLObjectElement.h: Ditto.
1102
1103         * platform/TreeShared.h: Made TreeShared take two template arguments for the
1104         node type and the parent node type. Removed the callRemovedLastRef functions and
1105         the extra forward declarations it required. Removed the private unused
1106         removedLastRef function; not sure why it was left in here at all.
1107         (WebCore::TreeShared::deref): Call removedLastRef instead of callRemovedLastRef.
1108         (WebCore::TreeShared::setParent): Use ParentNodeType.
1109         (WebCore::TreeShared::parent): Ditto.
1110         (WebCore::adopted): Updated to have both template arguments.
1111
1112         * svg/SVGElementInstance.cpp:
1113         (WebCore::SVGElementInstance::removedLastRef): Replaced callRemovedLastRef with
1114         this. Moved the body out of the header and added a comment explaining why the
1115         function should not be inlined.
1116         * svg/SVGElementInstance.h: Made removedLastRef non-virtual, non-inline, and
1117         private. Made TreeShared a friend so it can call the private removedLastRef.
1118         Updated TreeShared using statements.
1119
1120 2012-06-10  Darin Adler  <darin@apple.com>
1121
1122         * WebCore.exp.in: Re-sorted and alphabetized the file.
1123
1124 2012-06-10  Balazs Kelemen  <kbalazs@webkit.org>
1125
1126         [Qt][Win] Fix building Source/WebCore/plugins/win/PluginViewWin.cpp
1127         https://bugs.webkit.org/show_bug.cgi?id=88308
1128
1129         Reviewed by Simon Hausmann.
1130
1131         No new tests, just a build fix.
1132
1133         Use ownerWindow() from page client. It has been
1134         introduced for x11 plugins to solve exactly the
1135         same problem.
1136
1137         * plugins/win/PluginViewWin.cpp:
1138         (windowHandleForPageClient):
1139
1140 2012-06-10  Balazs Kelemen  <kbalazs@webkit.org>
1141
1142         [Qt][Win] Fix building ImageQt.cpp
1143         https://bugs.webkit.org/show_bug.cgi?id=88306
1144
1145         Reviewed by Simon Hausmann.
1146
1147         No new tests, this is just a build fix.
1148
1149         * platform/graphics/qt/ImageQt.cpp:
1150         (WebCore):
1151         (WebCore::BitmapImage::create):
1152         Adapt to the "API" changes in Qt.
1153
1154 2012-06-09  Gregg Tavares  <gman@google.com>
1155
1156         Make WebGL mark draws for compositing even if the draw count is zero
1157         https://bugs.webkit.org/show_bug.cgi?id=88718
1158
1159         Reviewed by Kenneth Russell.
1160
1161         No new tests as no new functionality.
1162
1163         * html/canvas/WebGLRenderingContext.cpp:
1164         (WebCore):
1165         (WebCore::WebGLRenderingContext::drawArrays):
1166         (WebCore::WebGLRenderingContext::drawElements):
1167
1168 2012-06-09  Dominic Cooney  <dominicc@chromium.org>
1169
1170         [Chromium] Remove JavaScriptCore dependencies from gyp
1171         https://bugs.webkit.org/show_bug.cgi?id=88510
1172
1173         Reviewed by Adam Barth.
1174
1175         Chromium doesn't support JSC any more and there doesn't seem to be
1176         a strong interest in using GYP as the common build system in other
1177         ports.
1178
1179         No new functionality => No new tests.
1180
1181         * gyp/WebCore.gyp: Removed.
1182         * gyp/copy-forwarding-and-icu-headers.sh: Removed.
1183         * gyp/copy-inspector-resources.sh: Removed.
1184         * gyp/generate-derived-sources.sh: Removed.
1185         * gyp/generate-webcore-export-file-generator.sh: Removed.
1186         * gyp/gtk.gyp: Removed.
1187         * gyp/run-if-exists.sh: Removed.
1188         * gyp/streamline-inspector-source.sh: Removed.
1189         * gyp/update-info-plist.sh: Removed.
1190
1191 2012-06-07  Darin Adler  <darin@apple.com>
1192
1193         Refactor and improve code style in TextResourceDecoder to prepare for buffering improvement
1194         https://bugs.webkit.org/show_bug.cgi?id=88566
1195
1196         Reviewed by Alexey Proskuryakov.
1197
1198         * loader/TextResourceDecoder.cpp:
1199         (WebCore::bytesEqual): Added helper function to make comparing against sequences of bytes
1200         easier to read at the call site.
1201         (WebCore::KanjiCode::judge): Changed to use bytesEqual in a few places, merged multiple if
1202         statements, got rid of else after goto.
1203         (WebCore::TextResourceDecoder::checkForCSSCharset): Changed to use early return instead of
1204         nesting the whole function. Changed to use bytesEqual.
1205         (WebCore::skipComment): Changed to use early return for more cases. Changed to use bytesEqual.
1206         (WebCore::TextResourceDecoder::checkForHeadCharset): Changed to use bytesEqual.
1207         (WebCore::TextResourceDecoder::decode): Changed to use emptyString() instead of "", since
1208         the former is more efficient.
1209
1210 2012-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1211
1212         Unreviewed, rolling out r118618 and r119353.
1213         http://trac.webkit.org/changeset/118618
1214         http://trac.webkit.org/changeset/119353
1215         https://bugs.webkit.org/show_bug.cgi?id=88720
1216
1217         Caused at least 30 different crashes on ClusterFuzz (Requested
1218         by inferno-sec on #webkit).
1219
1220         * loader/SubresourceLoader.cpp:
1221         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
1222         * loader/cache/CachedCSSStyleSheet.cpp:
1223         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
1224         * loader/cache/CachedFont.cpp:
1225         (WebCore::CachedFont::allClientsRemoved):
1226         * loader/cache/CachedFont.h:
1227         (WebCore::CachedFontClient::resourceClientType):
1228         * loader/cache/CachedImage.cpp:
1229         (WebCore::CachedImage::removeClientForRenderer):
1230         (WebCore):
1231         (WebCore::CachedImage::allClientsRemoved):
1232         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
1233         * loader/cache/CachedImage.h:
1234         (CachedImage):
1235         (WebCore::CachedImageClient::resourceClientType):
1236         * loader/cache/CachedRawResource.cpp:
1237         (WebCore::CachedRawResource::allClientsRemoved):
1238         (WebCore):
1239         * loader/cache/CachedRawResource.h:
1240         (CachedRawResource):
1241         (WebCore::CachedRawResourceClient::resourceClientType):
1242         * loader/cache/CachedResource.cpp:
1243         (WebCore::CachedResource::removeClient):
1244         * loader/cache/CachedResource.h:
1245         (WebCore::CachedResource::allClientsRemoved):
1246         * loader/cache/CachedResourceClient.h:
1247         (WebCore::CachedResourceClient::resourceClientType):
1248         * loader/cache/CachedSVGDocument.h:
1249         (WebCore::CachedSVGDocumentClient::resourceClientType):
1250         * loader/cache/CachedScript.cpp:
1251         (WebCore::CachedScript::allClientsRemoved):
1252         * loader/cache/CachedStyleSheetClient.h:
1253         (WebCore::CachedStyleSheetClient::resourceClientType):
1254         * rendering/style/StyleCachedImage.cpp:
1255         (WebCore::StyleCachedImage::removeClient):
1256         * rendering/style/StyleCachedImageSet.cpp:
1257         (WebCore::StyleCachedImageSet::removeClient):
1258         * svg/graphics/SVGImageCache.cpp:
1259         (WebCore::SVGImageCache::~SVGImageCache):
1260         (WebCore::SVGImageCache::removeRendererFromCache):
1261         (WebCore::SVGImageCache::setRequestedSizeAndScales):
1262         (WebCore::SVGImageCache::requestedSizeAndScales):
1263         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
1264         * svg/graphics/SVGImageCache.h:
1265         (WebCore):
1266         (SVGImageCache):
1267
1268 2012-06-09  Florin Malita  <fmalita@chromium.org>
1269
1270         Fixed-position foreignObject descendants should be relative to the foreignObject viewport
1271         https://bugs.webkit.org/show_bug.cgi?id=88547
1272
1273         Reviewed by Abhishek Arya.
1274
1275         Tests: svg/foreignObject/fO-fixed-position-crash.html
1276                svg/foreignObject/fixed-position-expected.svg
1277                svg/foreignObject/fixed-position.svg
1278
1279         Fixed position elements are currently registered with the top level
1280         RenderView even when embedded within an SVG foreignOject. This patch
1281         changes containingBlock() & container() to return the containing
1282         foreignObject renderer instead.
1283
1284         The new foreignObject fixed position behavior matches that of current
1285         FireFox and Opera versions and is consistent with the spec:
1286         http://www.w3.org/TR/CSS2/visuren.html#fixed-positioning
1287         http://www.w3.org/TR/SVG/coords.html#EstablishingANewViewport
1288
1289         * rendering/RenderObject.cpp:
1290         (WebCore::RenderObject::containingBlock):
1291         (WebCore::RenderObject::container):
1292
1293 2012-06-09  Adam Barth  <abarth@webkit.org>
1294
1295         Can't use eval in iframes sanbdoxed via CSP header
1296         https://bugs.webkit.org/show_bug.cgi?id=88450
1297
1298         Reviewed by Mihai Parparita.
1299
1300         The initial empty document in a frame inherits the security context of
1301         its parent (including the CSP policy).  When we load the real document,
1302         in some cases we'll do a "secure transition" to the new document.  That
1303         means that we leave the global object in place in case the parent
1304         document has created any properties that it expects will be visible to
1305         the new document.
1306
1307         If the parent document has a CSP policy that blocks eval, the "no eval"
1308         bit will be set on the global object of the initial document.  When we
1309         perform a "secure transition" to the new document, we'll keep the bit,
1310         which is wrong.  In this patch, we reset the bit by always enabling
1311         eval when clearing the context, regardless of whether we're performing
1312         a "secure transition".
1313
1314         Test: http/tests/security/contentSecurityPolicy/iframe-inside-csp.html
1315
1316         * bindings/js/ScriptController.cpp:
1317         (WebCore::ScriptController::enableEval):
1318         (WebCore):
1319         * bindings/js/ScriptController.h:
1320         (ScriptController):
1321         * bindings/v8/ScriptController.cpp:
1322         (WebCore::ScriptController::enableEval):
1323         (WebCore):
1324         (WebCore::ScriptController::disableEval):
1325         * bindings/v8/ScriptController.h:
1326         (ScriptController):
1327         * loader/FrameLoader.cpp:
1328         (WebCore::FrameLoader::clear):
1329
1330 2012-06-09  Pablo Flouret  <pablof@motorola.com>
1331
1332         The value in Access-Control-Allow-Origin is not being matched correctly for CORS-enabled requests
1333         https://bugs.webkit.org/show_bug.cgi?id=88139
1334
1335         Reviewed by Adam Barth.
1336
1337         Compare a request's origin with the value given in any
1338         Access-Control-Allow-Origin headers in an exact, case-sensitive manner,
1339         instead of using SecurityOrigin::isSameSchemeHostPort(). Per step 3 of
1340         the resource sharing check algorithm in
1341         http://dvcs.w3.org/hg/cors/raw-file/tip/Overview.html#resource-sharing-check
1342
1343         Test: http/tests/xmlhttprequest/origin-exact-matching.html
1344
1345         * loader/CrossOriginAccessControl.cpp:
1346         (WebCore::passesAccessControlCheck):
1347
1348 2012-06-09  Huang Dongsung  <luxtella@company100.net>
1349
1350         [Qt][Texmap] All layers with backingStore are opaque when using TextureMapperGL.
1351         https://bugs.webkit.org/show_bug.cgi?id=88703
1352
1353         The bug originated from StillImage that is not override
1354         Image::currentFrameHasAlpha(), so it always returns false.
1355         StillImage is used by ImageBuffer, and if Texmap draws contents on ImageBuffer,
1356         TextureMapperBackingStore thinks contents does not have alpha.
1357
1358         Covered by existing compositing tests.
1359
1360         Reviewed by Noam Rosenthal.
1361
1362         * platform/graphics/qt/StillImageQt.cpp:
1363         (WebCore::StillImage::currentFrameHasAlpha):
1364         (WebCore):
1365         * platform/graphics/qt/StillImageQt.h:
1366         (StillImage):
1367
1368 2012-06-09  Victor Carbune  <victor@rosedu.org>
1369
1370         Basic support for timestamps within a TextTrackCue
1371         https://bugs.webkit.org/show_bug.cgi?id=88187
1372
1373         Implemented support for timestamps within a TextTrackCue.
1374         This enables rendering functionality for Karaoke and Paint-on captions.
1375
1376         Reviewed by Eric Carlson.
1377
1378         Test: media/track/track-cue-rendering-inner-timestamps.html
1379
1380         * css/mediaControls.css: Remove the background shadow pseudo-id and
1381         added two others, which can be further used for styling past / future
1382         contents of the cue.
1383         (video::-webkit-media-text-track-past-nodes): Used to style elements
1384         within the cue that are before the current movie time.
1385         (video::-webkit-media-text-track-future-nodes): Used to style elements
1386         within the cue that are after the current movie time.
1387         * html/HTMLMediaElement.cpp:
1388         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Regardless of whether
1389         the active set changed or not, the current cues need to be informed of the current
1390         movie time.
1391         * html/track/TextTrackCue.cpp:
1392         (WebCore::TextTrackCue::TextTrackCue): Initiliazed past and future containers.
1393         (WebCore::TextTrackCue::getCueAsHTML): Checked whether the current cue text has
1394         inner timestamps or not, in order to render faster if no timestamps are there.
1395         (WebCore::TextTrackCue::updateDisplayTree): Added method that keeps the past and future
1396         containers up to date, given a current movie time.
1397         (WebCore):
1398         (WebCore::TextTrackCue::getDisplayTree): Replaced the cue background container with the
1399         past cues container. The *internal* display tree of the cue now has two containers,
1400         representing past and future elements.
1401         * html/track/TextTrackCue.h: Added several variables to support the new functionality.
1402         (TextTrackCue):
1403         * html/track/WebVTTParser.cpp:
1404         (WebCore::WebVTTParser::constructTreeFromToken): Updated representation for this patch.
1405         * html/track/WebVTTParser.h:
1406         (WebVTTParser): Made public the collectTimeStamp method, as this is required for
1407         parsing timestamps within a cue as well.
1408
1409 2012-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
1410
1411         Web Inspector: Open links in Sources panel by default and fallback to Resources and Network panel otherwise.
1412         https://bugs.webkit.org/show_bug.cgi?id=88710
1413
1414         Reviewed by Pavel Feldman.
1415
1416         * inspector/front-end/inspector.js:
1417         (WebInspector.documentClick.followLink):
1418         (WebInspector.documentClick):
1419         (WebInspector._showAnchorLocation):
1420
1421 2012-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
1422
1423         Web Inspector: Only expand root domain in Sources/Scripts panel
1424         https://bugs.webkit.org/show_bug.cgi?id=88135
1425
1426         Reviewed by Pavel Feldman.
1427
1428         * inspector/front-end/NavigatorView.js:
1429         (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight):
1430         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
1431         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
1432
1433 2012-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
1434
1435         Web Inspector: Pretty print should respect text editor indent setting.
1436         https://bugs.webkit.org/show_bug.cgi?id=88713
1437
1438         Reviewed by Pavel Feldman.
1439
1440         * inspector/front-end/ScriptFormatter.js:
1441
1442 2012-06-09  Dan Bernstein  <mitz@apple.com>
1443
1444         Fixed the build after r119895.
1445
1446         * WebCore.xcodeproj/project.pbxproj:
1447
1448 2012-06-09  Andrey Kosyakov  <caseq@chromium.org>
1449
1450         Web Inspector: [refactoring] rename TimelineVerticalOverview into TimelineFrameOverview
1451         https://bugs.webkit.org/show_bug.cgi?id=88708
1452
1453         Reviewed by Vsevolod Vlasov.
1454
1455         - rename TimelineVerticalOverview to TimelineFrameOverview;
1456         - rename associated fields, parameters, CSS classes etc;
1457         - rename overview mode designators to match the UI;
1458         - drop unused CSS rules for old-style mode selector;
1459
1460         * inspector/front-end/TimelineOverviewPane.js:
1461         (WebInspector.TimelineOverviewPane):
1462         (WebInspector.TimelineOverviewPane.prototype._showEvents):
1463         (WebInspector.TimelineOverviewPane.prototype._showFrames):
1464         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
1465         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
1466         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
1467         (WebInspector.TimelineOverviewPane.prototype._update):
1468         (WebInspector.TimelineOverviewPane.prototype.addFrame):
1469         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
1470         (WebInspector.TimelineOverviewPane.prototype._reset):
1471         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
1472         (WebInspector.TimelineFrameOverview):
1473         * inspector/front-end/TimelinePanel.js:
1474         (WebInspector.TimelinePanel):
1475         (WebInspector.TimelinePanel.prototype._shouldShowFrames):
1476         (WebInspector.TimelinePanel.prototype.revealRecordAt):
1477         * inspector/front-end/timelinePanel.css:
1478         (.timeline-frame-overview #timeline-overview-grid):
1479         (.timeline-frame-overview .timeline-overview-window):
1480         (.timeline-frame-overview .timeline-overview-dividers-background):
1481         (.timeline-frame-overview #timeline-overview-memory):
1482         (.timeline-frame-overview-status-bar-item.toggled-on .glyph):
1483         (.timeline-frame-overview-bars):
1484         (.timeline.timeline-frame-overview .resources-divider):
1485         (.sidebar-tree-item .timeline-frame-overview-status-bar-item):
1486
1487 2012-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
1488
1489         IndexedDB: Inspector should handle null, string, and array keyPaths
1490         https://bugs.webkit.org/show_bug.cgi?id=84303
1491
1492         Reviewed by Pavel Feldman.
1493
1494         Supported different key path types and updated tests to cover each case.
1495         Key path strings are now highlighted in the DataGrid column headers.
1496
1497         * inspector/Inspector.json:
1498         * inspector/InspectorIndexedDBAgent.cpp:
1499         (WebCore):
1500         * inspector/front-end/IndexedDBModel.js:
1501         (WebInspector.IndexedDBModel.idbKeyPathFromKeyPath):
1502         (WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath):
1503         (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
1504         (WebInspector.IndexedDBModel.prototype._loadDatabase):
1505         (WebInspector.IndexedDBModel.ObjectStore.prototype.get keyPathString):
1506         (WebInspector.IndexedDBModel.Index.prototype.get keyPathString):
1507         * inspector/front-end/IndexedDBViews.js:
1508         (WebInspector.IDBDataView.prototype._createDataGrid):
1509         (WebInspector.IDBDataView.prototype._keyColumnHeaderFragment):
1510         (WebInspector.IDBDataView.prototype._keyPathStringFragment):
1511         (WebInspector.IDBDataGridNode.prototype.createCell):
1512         * inspector/front-end/ResourcesPanel.js:
1513         (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
1514         (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
1515
1516 2012-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
1517
1518         Web Inspector: Increase size limits for resource content cached in InspectorResourceAgent.
1519         https://bugs.webkit.org/show_bug.cgi?id=88674
1520
1521         Reviewed by Pavel Feldman.
1522
1523         * inspector/NetworkResourcesData.cpp:
1524
1525 2012-05-25  Vsevolod Vlasov  <vsevik@chromium.org>
1526
1527         Web Inspector: Limit DebuggerAgent.Location use to DebuggerModel only, introduce WebInspector.RawLocation to be used elsewhere.
1528         https://bugs.webkit.org/show_bug.cgi?id=87270
1529
1530         Reviewed by Pavel Feldman.
1531
1532         Introduced WebInspector.RawLocation interface, a generic raw location independent from concrete domain (Styles, Debugger).
1533         Made WebInspector.DebuggerModel.Location implement it and switched all debugger related methods to it.
1534
1535         * inspector/front-end/BreakpointManager.js:
1536         (WebInspector.BreakpointManager.prototype._breakpointResolved):
1537         * inspector/front-end/CompilerScriptMapping.js:
1538         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
1539         * inspector/front-end/DebuggerModel.js:
1540         (WebInspector.DebuggerModel.Location):
1541         (WebInspector.DebuggerModel.prototype.continueToLocation):
1542         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
1543         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
1544         (WebInspector.DebuggerModel.prototype.setBreakpoint):
1545         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
1546         (WebInspector.DebuggerModel.prototype._breakpointResolved):
1547         (WebInspector.DebuggerModel.prototype.createRawLocation):
1548         (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
1549         (WebInspector.DebuggerModel.prototype.setSelectedCallFrame):
1550         (WebInspector.DebuggerModel.prototype.createLiveLocation):
1551         (WebInspector.DebuggerModel.CallFrame.prototype.get location):
1552         (WebInspector.DebuggerModel.CallFrame.prototype.createLiveLocation):
1553         * inspector/front-end/DebuggerResourceBinding.js:
1554         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
1555         (WebInspector.DebuggerResourceBinding.setScriptSource):
1556         (WebInspector.DebuggerResourceBinding.prototype.setContent.get if):
1557         (WebInspector.DebuggerResourceBinding.prototype.setContent):
1558         (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
1559         * inspector/front-end/JavaScriptSource.js:
1560         (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation):
1561         * inspector/front-end/Linkifier.js:
1562         * inspector/front-end/ObjectPopoverHelper.js:
1563         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
1564         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
1565         * inspector/front-end/PresentationConsoleMessageHelper.js:
1566         * inspector/front-end/RawSourceCode.js:
1567         * inspector/front-end/ResourceScriptMapping.js:
1568         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
1569         * inspector/front-end/Script.js:
1570         (WebInspector.Script.prototype.rawLocationToUILocation):
1571         * inspector/front-end/ScriptSnippetModel.js:
1572         (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
1573         * inspector/front-end/SourceMapping.js:
1574         * inspector/front-end/UISourceCode.js:
1575         (WebInspector.RawLocation):
1576
1577 2012-06-09  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1578
1579         Web Inspector: Add message loop instrumentation to public API and timeline agent
1580         https://bugs.webkit.org/show_bug.cgi?id=88639
1581
1582         Reviewed by Vsevolod Vlasov.
1583
1584         Message loop instrumentation will show when the render thread is busy.
1585         That way developer can discover if a render thread business causes low fps, or not.
1586
1587         * inspector/InspectorClient.h:
1588         (WebCore::InspectorClient::startMessageLoopMonitoring): Starts observer.
1589         (WebCore::InspectorClient::stopMessageLoopMonitoring): Stops observer.
1590         * inspector/InspectorController.cpp:
1591         (WebCore::InspectorController::InspectorController):
1592         Changed timeline agent constructor parameters.
1593         * inspector/InspectorInstrumentation.cpp:
1594         (WebCore::InspectorInstrumentation::willProcessTaskImpl):
1595         Forwards observer notification.
1596         (WebCore):
1597         (WebCore::InspectorInstrumentation::didProcessTaskImpl):
1598         Ditto.
1599         * inspector/InspectorInstrumentation.h:
1600         (InspectorInstrumentation):
1601         (WebCore::InspectorInstrumentation::willProcessTask):
1602         Ditto.
1603         (WebCore):
1604         (WebCore::InspectorInstrumentation::didProcessTask):
1605         Ditto.
1606         * inspector/InspectorTimelineAgent.cpp:
1607         (WebCore::InspectorTimelineAgent::start):
1608         Starts observer.
1609         (WebCore::InspectorTimelineAgent::stop):
1610         Stops observer.
1611         (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
1612         Changed result origin.
1613         (WebCore::InspectorTimelineAgent::willProcessTask):
1614         Noop implementqation.
1615         (WebCore):
1616         (WebCore::InspectorTimelineAgent::didProcessTask):
1617         Noop implementqation.
1618         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1619         Changed constructor parameters.
1620         * inspector/InspectorTimelineAgent.h:
1621         (WebCore::InspectorTimelineAgent::create):
1622         Ditto.
1623         (InspectorTimelineAgent):
1624         * inspector/WorkerInspectorController.cpp:
1625         (WebCore::WorkerInspectorController::WorkerInspectorController):
1626         Changed timeline agent constructor parameters.
1627
1628 2012-06-08  Andrey Kosyakov  <caseq@chromium.org>
1629
1630         Web Inspector: optimize timeline's frame mode overview appearance for 30fps
1631         https://bugs.webkit.org/show_bug.cgi?id=88556
1632
1633         Reviewed by Vsevolod Vlasov.
1634
1635         - adjust frame overview scale to 30fps == full height by default;
1636         - provide a fall-back auto-scale mode when median frame is longer than 1/30s;
1637         - add horizontal lines for 30 and 60fps;
1638         - drive-by fix: always use same order of categories in frame bars.
1639
1640         * inspector/front-end/TimelineOverviewPane.js:
1641         (WebInspector.TimelineVerticalOverview.prototype.update):
1642         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
1643         (WebInspector.TimelineVerticalOverview.prototype._renderBars):
1644         (WebInspector.TimelineVerticalOverview.prototype._drawFPSMarks):
1645         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
1646
1647
1648 2012-06-09  Sukolsak Sakshuwong  <sukolsak@google.com>
1649
1650         Add UNDO_MANAGER flag
1651         https://bugs.webkit.org/show_bug.cgi?id=87908
1652
1653         Reviewed by Tony Chang.
1654
1655         Add undoManager property to document behind the UNDO_MANAGER flag and
1656         add placeholders for some methods of undoManager.
1657
1658         Test: editing/undomanager/document-has-undomanager.html
1659
1660         * CMakeLists.txt:
1661         * Configurations/FeatureDefines.xcconfig:
1662         * DerivedSources.cpp:
1663         * DerivedSources.make:
1664         * DerivedSources.pri:
1665         * GNUmakefile.am:
1666         * GNUmakefile.list.am:
1667         * WebCore.gypi:
1668         * WebCore.xcodeproj/project.pbxproj:
1669         * dom/Document.cpp:
1670         (WebCore::Document::Document):
1671         (WebCore):
1672         (WebCore::Document::undoManager):
1673         * dom/Document.h:
1674         (WebCore):
1675         (Document):
1676         * dom/Document.idl:
1677         * editing/UndoManager.cpp: Added.
1678         (WebCore):
1679         (WebCore::UndoManager::create):
1680         (WebCore::UndoManager::UndoManager):
1681         (WebCore::UndoManager::undo):
1682         (WebCore::UndoManager::redo):
1683         (WebCore::UndoManager::clearUndo):
1684         (WebCore::UndoManager::clearRedo):
1685         * editing/UndoManager.h: Added.
1686         (WebCore):
1687         (UndoManager):
1688         * editing/UndoManager.idl: Added.
1689
1690 2012-06-08  Levi Weintraub  <leviw@chromium.org>
1691
1692         RenderLayer::paintChildLayerIntoColumns doesn't properly pixel snap
1693         https://bugs.webkit.org/show_bug.cgi?id=88554
1694
1695         Reviewed by Darin Adler.
1696
1697         Column handling code in RenderLayer and RenderBlock was improperly clipping and translating
1698         using floats derived from FractionalLayoutUnits without pixel snapping. RenderLayer also
1699         improperly stored render tree offsets in ints instead of LayoutUnits. This corrects this
1700         issue.
1701
1702         Test: fast/sub-pixel/column-clipping.html
1703
1704         * rendering/RenderBlock.cpp:
1705         (WebCore::RenderBlock::paintColumnContents):
1706         * rendering/RenderLayer.cpp:
1707         (WebCore::RenderLayer::paintChildLayerIntoColumns):
1708
1709 2012-06-08  Rakesh KN  <rakesh.kn@motorola.com>
1710
1711         REGRESSION(r116487?): HTMLFormElement::elements['name'] is empty if the form is detached from the document tree
1712         https://bugs.webkit.org/show_bug.cgi?id=88632
1713
1714         Reviewed by Ryosuke Niwa.
1715
1716         Update root node of RadioNodeList when the form element is detached from dom tree.
1717
1718         Test: fast/forms/radionodelist-whose-form-element-detached-from-domtree.html
1719
1720         * dom/Node.cpp:
1721         (WebCore::Node::resetCachedRadioNodeListRootNode):
1722         New function to update the root node of RadioNodeLists to form element from document.
1723         * dom/Node.h: Ditto.
1724         * html/HTMLFormElement.cpp:
1725         (WebCore::HTMLFormElement::removedFrom):
1726         On detach, we update the root node of all RadioNodeLists of this form element.
1727         * html/RadioNodeList.cpp:
1728         (WebCore::RadioNodeList::setRootElement):
1729         Setter for updating root node.
1730         * html/RadioNodeList.h:
1731         (RadioNodeList): Ditto.
1732
1733 2012-06-08  David Reveman  <reveman@chromium.org>
1734
1735         [Chromium] Compositor doesn't support translucent root layers.
1736         https://bugs.webkit.org/show_bug.cgi?id=87821
1737
1738         Reviewed by James Robinson.
1739
1740         Forward the isTransparent WebView setting to WebLayerTreeView,
1741         CCLayerTreeHost and CCLayerTreeHostImpl as hasTransparentBackground.
1742         Use hasTransparentBackground setting to determine how to clear the
1743         root render pass and draw the background. Set opaque flag correctly
1744         on the NonCompositedContentHost's graphics layer to make sure
1745         sub-pixel rendering is not used with a transparent WebView.
1746
1747         Unit tests: CCLayerTreeHostImplTest.hasTransparentBackground
1748                     LayerRendererChromiumTest2.opaqueRenderPass
1749                     LayerRendererChromiumTest2.transparentRenderPass
1750
1751         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
1752         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
1753         * platform/graphics/chromium/LayerRendererChromium.cpp:
1754         (WebCore::LayerRendererChromium::clearRenderPass):
1755         (WebCore::LayerRendererChromium::drawRenderPass):
1756         (WebCore::LayerRendererChromium::drawBackgroundFilters):
1757         * platform/graphics/chromium/LayerRendererChromium.h:
1758         (LayerRendererChromium):
1759         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
1760         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
1761         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1762         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1763         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
1764         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1765         (WebCore::CCLayerTreeHost::setHasTransparentBackground):
1766         (CCLayerTreeHost):
1767         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1768         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1769         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1770         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1771         (WebCore::CCLayerTreeHostImpl::hasTransparentBackground):
1772         (WebCore::CCLayerTreeHostImpl::setHasTransparentBackground):
1773         (CCLayerTreeHostImpl):
1774         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1775         (WebCore::CCRenderPass::CCRenderPass):
1776         * platform/graphics/chromium/cc/CCRenderPass.h:
1777         (WebCore::CCRenderPass::hasTransparentBackground):
1778         (WebCore::CCRenderPass::setHasTransparentBackground):
1779         (CCRenderPass):
1780
1781 2012-06-08  Ian Vollick  <vollick@chromium.org>
1782
1783         [chromium] Single thread proxy's animation timer should short circuit if the layer renderer has not been initialized
1784         https://bugs.webkit.org/show_bug.cgi?id=88668
1785
1786         Reviewed by James Robinson.
1787
1788         Unit test: CCSingleThreadProxyTestDidAddAnimationBeforeInitializingLayerRenderer.runSingleThreaded
1789
1790         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1791         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1792
1793 2012-06-08  Shezan Baig  <shezbaig.wk@gmail.com>
1794
1795         Caret is not rendered in empty inline contenteditable elements
1796         https://bugs.webkit.org/show_bug.cgi?id=85793
1797
1798         Reviewed by Ryosuke Niwa.
1799
1800         Override localCaretRect in RenderInline. The implementation was almost
1801         identical to localCaretRect in RenderBlock for empty block elements, so
1802         I refactored RenderBlock::localCaretRect and moved the logic to a new
1803         method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The
1804         implementation of 'localCaretRect' in RenderBlock and RenderInline both
1805         use this helper method in RenderBoxModelObject.
1806
1807         Tests: editing/selection/caret-in-empty-inline-1.html
1808                editing/selection/caret-in-empty-inline-2.html
1809
1810         * rendering/RenderBlock.cpp:
1811         (WebCore::RenderBlock::localCaretRect):
1812         Modified to use RenderBoxModelObject::localCaretRectForEmptyElement.
1813         * rendering/RenderBoxModelObject.cpp:
1814         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
1815         (WebCore):
1816         * rendering/RenderBoxModelObject.h:
1817         (RenderBoxModelObject):
1818         Add localCaretRectForEmptyElement helper method.
1819         * rendering/RenderInline.cpp:
1820         (WebCore::RenderInline::localCaretRect):
1821         (WebCore):
1822         * rendering/RenderInline.h:
1823         (RenderInline):
1824         Override localCaretRect using localCaretRectForEmptyElement.
1825
1826 2012-06-08  Mike West  <mkwst@chromium.org>
1827
1828         Treat blob: and filesystem: URLs generated via secure origins as secure.
1829         https://bugs.webkit.org/show_bug.cgi?id=84054
1830
1831         Loading a blob: or filesystem: URL into an iframe or image that's
1832         contained on an HTTPS page shouldn't generate a mixed content warning.
1833         This change adds a SecurityOrigin::isSecure to check both against a
1834         URLs protocol, and the protocol of it's so-called "inner URL" if it's
1835         the type of URL that has such a thing. These sorts of URLs which are
1836         generated from secure sources will themselves be treated as secure.
1837
1838         Reviewed by Adam Barth.
1839
1840         Tests: http/tests/security/mixedContent/blob-url-in-iframe.html
1841                http/tests/security/mixedContent/filesystem-url-in-iframe.html
1842
1843         * loader/FrameLoader.cpp:
1844         (WebCore::FrameLoader::isMixedContent):
1845         * page/SecurityOrigin.cpp:
1846         (WebCore):
1847         (WebCore::SecurityOrigin::isSecure):
1848         * page/SecurityOrigin.h:
1849         (SecurityOrigin):
1850
1851 2012-06-08  Martin Robinson  <mrobinson@igalia.com>
1852
1853         [Cairo] [TextureMapperGL] Nvidia card does not update WebGL texture when interacting with canvas
1854         https://bugs.webkit.org/show_bug.cgi?id=87797
1855
1856         Reviewed by Philippe Normand.
1857
1858         No new tests. WebGL is already covered by WebGL tests and this
1859         bug is only present on certain hardware.
1860
1861         After resolving multisampling before drawing the texture via the
1862         TextureMapper, first rebind the multisampling framebuffer. This ensures
1863         that the texture isn't active in two framebuffers at a time.
1864
1865         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
1866         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Rebind the multisampling
1867         framebuffer.
1868
1869 2012-06-08  Alexey Proskuryakov  <ap@apple.com>
1870
1871         <rdar://problem/11412294> Add appropriate iOS default font settings
1872
1873         Reviewed by Dan Bernstein.
1874
1875         * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
1876
1877 2012-06-08  Charles Wei  <charles.wei@torchmobile.com.cn>
1878
1879         IndexedDB: Transactions without any request scheduled should abort itself.
1880         https://bugs.webkit.org/show_bug.cgi?id=88052
1881
1882         Reviewed by Kentaro Hara.
1883
1884         This is needed for indexedDB to make it work for JSC. We need to clean up all the
1885         pending transactions(transactions without any request scheduled) when leaving Javascript context.
1886
1887         Manually tested using the existing test LayoutTests/storage/indexeddb/tutorial.html
1888
1889         * bindings/js/JSMainThreadExecState.cpp:
1890         (WebCore):
1891         (WebCore::JSMainThreadExecState::didLeaveScriptContext):
1892         * bindings/js/JSMainThreadExecState.h:
1893         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1894         (JSMainThreadExecState):
1895
1896 2012-06-08  Ryosuke Niwa  <rniwa@webkit.org>
1897
1898         Crash in WebCore::CompositeEditCommand::breakOutOfEmptyListItem
1899         https://bugs.webkit.org/show_bug.cgi?id=88361
1900
1901         Reviewed by Levi Weintraub.
1902
1903         Use RefPtr instead of raw pointers across DOM mutations.
1904
1905         No tests are added for the lack of a reliable reduction.
1906
1907         * editing/CompositeEditCommand.cpp:
1908         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1909
1910 2012-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1911
1912         Unreviewed, rolling out r119514.
1913         http://trac.webkit.org/changeset/119514
1914         https://bugs.webkit.org/show_bug.cgi?id=88664
1915
1916         Broke JSFiddle.net (Requested by arv on #webkit).
1917
1918         * bindings/v8/V8DOMWindowShell.cpp:
1919         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1920         * bindings/v8/WorkerContextExecutionProxy.cpp:
1921         (WebCore::WorkerContextExecutionProxy::initIsolate):
1922
1923 2012-06-08  Ryosuke Niwa  <rniwa@webkit.org>
1924
1925         Crash in WebCore::InsertParagraphSeparatorCommand::doApply
1926         https://bugs.webkit.org/show_bug.cgi?id=88108
1927
1928         Reviewed by Levi Weintraub.
1929
1930         Use NodeVector instead of walking through siblings as we mutate the DOM.
1931
1932         No new tests are added since there is no reliable reduction.
1933
1934         * editing/BreakBlockquoteCommand.cpp:
1935         (WebCore::BreakBlockquoteCommand::doApply):
1936         * editing/CompositeEditCommand.cpp:
1937         (WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent):
1938         (WebCore):
1939         * editing/CompositeEditCommand.h:
1940         (CompositeEditCommand):
1941         * editing/InsertParagraphSeparatorCommand.cpp:
1942         (WebCore::InsertParagraphSeparatorCommand::doApply):
1943
1944 2012-06-08  David Grogan  <dgrogan@chromium.org>
1945
1946         IndexedDB: rename some instances of open to registerFrontendCallbacks
1947         https://bugs.webkit.org/show_bug.cgi?id=88611
1948
1949         We should still make the change in the WebKit API.
1950
1951         Reviewed by Tony Chang.
1952
1953         No new tests, just a method rename.
1954
1955         * Modules/indexeddb/IDBDatabase.cpp:
1956         (WebCore::IDBDatabase::registerFrontendCallbacks):
1957         * Modules/indexeddb/IDBDatabase.h:
1958         (IDBDatabase):
1959         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1960         (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
1961         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1962         (IDBDatabaseBackendImpl):
1963         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1964         (IDBDatabaseBackendInterface):
1965         * Modules/indexeddb/IDBRequest.cpp:
1966         (WebCore::IDBRequest::onSuccess):
1967
1968 2012-06-08  Dana Jansens  <danakj@chromium.org>
1969
1970         [chromium] Skip willDraw() and didDraw() on fully occluded layers
1971         https://bugs.webkit.org/show_bug.cgi?id=88435
1972
1973         Reviewed by Adrienne Walker.
1974
1975         Current willDraw() is called on all layers with non-empty
1976         visibleLayerRect and non-empty scissorRect. This excludes
1977         layers outside the viewport, but does not exclude occluded
1978         layers. We add a check for occlusion to calculateRenderPasses
1979         in order to avoid willDraw() when it will be culled anyway.
1980
1981         We prevent didDraw() from being called for occluded layers, for
1982         which we did not call didDraw() by holding a vector of layers
1983         for which we did call willDraw(). This lets us avoid storing a
1984         flag on the layers, or computing occlusion again in
1985         didDrawAllLayers.
1986
1987         Unit test: CCLayerTreeHostImplTest.willDrawNotCalledOnOccludedLayer
1988
1989         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1990         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1991         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1992         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
1993         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1994         (FrameData):
1995         (CCLayerTreeHostImpl):
1996
1997 2012-06-08  Antonio Gomes  <agomes@rim.com>
1998
1999         EventHandler shouldn't schedule the fake mousemove event timer when scrolling on devices that don't have a mouse
2000         https://bugs.webkit.org/show_bug.cgi?id=88379
2001
2002         Reviewed by James Robinson.
2003
2004         Paraphrasing Andy Estes:
2005         "In <http://trac.webkit.org/changeset/119465> we stopped dispatching fake
2006         mousemove events when scrolling on devices that don't support mice. This event
2007         is dispatched on a timer, so one better would be to not even schedule the
2008         timer (rather than scheduling the timer but making it a no-op).
2009
2010         No new tests, as no functionality has changed. We basically do not
2011         start a timer under a given circumstance instead of fire it, it times out,
2012         and we make the callback no-op when under the given circumstance.
2013
2014         It is still possible though that we have the following scenario:
2015         - Setting::deviceSupportsMouse set as true;
2016         - we fire the timer;
2017         - before its callback gets executed (timed out) the setting gets toggled.
2018         So for sakeness, lets keep the check in both places.
2019
2020         * page/EventHandler.cpp:
2021         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2022         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2023
2024 2012-06-08  James Robinson  <jamesr@chromium.org>
2025
2026         [chromium] Clean up some unnecessary LayerChromium.h includes
2027         https://bugs.webkit.org/show_bug.cgi?id=88599
2028
2029         Reviewed by Adam Barth.
2030
2031         Reworks test code slightly to use WebCore interfaces.
2032
2033         * testing/Internals.cpp:
2034         (WebCore::Internals::setBackgroundBlurOnNode):
2035
2036 2012-06-08  Erik Arvidsson  <arv@chromium.org>
2037
2038         [V8] Keep TextTrackList alive as long as its owner is alive
2039         https://bugs.webkit.org/show_bug.cgi?id=88541
2040
2041         Reviewed by Adam Barth.
2042
2043         Add a hidden reference from the owner to the text track list.
2044
2045         Covered by existing tests.
2046
2047         * Target.pri: Add V8TextTrackListCustom.cpp.
2048         * UseV8.cmake: Ditto.
2049         * WebCore.gypi: Ditto.
2050         * bindings/v8/V8HiddenPropertyName.h:
2051         (WebCore):
2052         * bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
2053         (WebCore):
2054         (WebCore::toV8): When the wrapper is created add a reference to the owner of the TextTrackList to the TextTrackList.
2055         * html/track/TextTrackList.idl:
2056
2057 2012-06-08  Ian Vollick  <vollick@chromium.org>
2058
2059         [chromium] Accelerated animations should use WebTransformOperations
2060         https://bugs.webkit.org/show_bug.cgi?id=87686
2061
2062         Reviewed by James Robinson.
2063
2064         CCTransformKeyframe new owns a WebTransformOperations rather than a
2065         TransformOperations. LayerChromium's API has been changed so that
2066         LayerChromium::addAnimation should take only a CCActiveAnimation.
2067         GraphicsLayerChromium is new responsible for translating to
2068         WebTransformOperations and creating CCActiveAnimations. Tests that use
2069         the public API (that is, they call addAnimation with KeyframeValueList
2070         and Animation arguments) have been moved to GraphicsLayerChromiumTest.
2071
2072          Unit tests:
2073             GraphicsLayerChromiumTest.createOpacityAnimation
2074             GraphicsLayerChromiumTest.createTransformAnimation
2075             GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
2076             GraphicsLayerChromiumTest.createTransformAnimationWithSingularMatrix
2077             GraphicsLayerChromiumTest.createReversedAnimation
2078             GraphicsLayerChromiumTest.createAlternatingAnimation
2079             GraphicsLayerChromiumTest.createReversedAlternatingAnimation
2080
2081         * WebCore.gypi:
2082         * platform/graphics/chromium/AnimationTranslationUtil.cpp: Added.
2083         (WebCore):
2084         (WebCore::toWebTransformOperations):
2085         (WebCore::appendKeyframe):
2086         (WebCore::CCKeyframedTransformAnimationCurve):
2087         (WebCore::createActiveAnimation):
2088         * platform/graphics/chromium/AnimationTranslationUtil.h: Added.
2089         (WebCore):
2090         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2091         (WebCore::GraphicsLayerChromium::addAnimation):
2092         * platform/graphics/chromium/LayerChromium.cpp:
2093         (WebCore::LayerChromium::addAnimation):
2094         * platform/graphics/chromium/LayerChromium.h:
2095         (WebCore):
2096         (WebCore::LayerChromium::bounds):
2097         (LayerChromium):
2098         * platform/graphics/chromium/LinkHighlight.cpp:
2099         (WebCore::LinkHighlight::LinkHighlight):
2100         * platform/graphics/chromium/cc/CCAnimationCurve.h:
2101         (CCTransformAnimationCurve):
2102         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
2103         (WebCore::CCTransformKeyframe::create):
2104         (WebCore::CCTransformKeyframe::CCTransformKeyframe):
2105         (WebCore::CCTransformKeyframe::value):
2106         (WebCore::CCTransformKeyframe::clone):
2107         (WebCore::CCKeyframedTransformAnimationCurve::getValue):
2108         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
2109         (CCTransformKeyframe):
2110         (CCKeyframedTransformAnimationCurve):
2111         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2112         (WebCore::CCLayerAnimationController::removeAnimation):
2113         (WebCore):
2114         (WebCore::CCLayerAnimationController::addAnimation):
2115         (WebCore::CCLayerAnimationController::getActiveAnimation):
2116         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2117         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
2118         (WebCore::CCLayerAnimationController::tickAnimations):
2119         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2120         (CCLayerAnimationControllerClient):
2121         (CCLayerAnimationController):
2122         * platform/graphics/chromium/cc/CCLayerImpl.h:
2123         (WebCore::CCLayerImpl::bounds):
2124
2125 2012-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
2126
2127         [Texmap] Accelerated versions of drop-shadow and blur filters
2128         https://bugs.webkit.org/show_bug.cgi?id=87695
2129
2130         Reviewed by Kenneth Rohde Christiansen.
2131
2132         Added shaders for blur and drop-shadow effects.
2133         The shaders use sampling of multiple coordinates and averaging them with normal-
2134         distribution to create a fast gaussian blur effect.
2135
2136         Covered by existing tests in css3/filters.
2137
2138         * platform/graphics/texmap/TextureMapperGL.cpp:
2139         (WebCore::TextureMapperGL::drawFiltered):
2140             Call the prepare function explicitly, with a size argument that's used to calculate
2141             some of the uniform values.
2142
2143         * platform/graphics/texmap/TextureMapperLayer.cpp:
2144         (WebCore::TextureMapperLayer::intermediateSurfaceRect):
2145             The outsets of the effect have to be considered when calculating the intermediate rect.
2146             Otherwise the resulting image is scaled instead of outsetted.
2147
2148         (WebCore::applyFilters):
2149         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
2150         (WebCore::StandardFilterProgram::StandardFilterProgram):
2151             Added the new shaders.
2152
2153         (WebCore::StandardFilterProgram::prepare):
2154         (WebCore::TextureMapperShaderManager::getShaderForFilter):
2155         * platform/graphics/texmap/TextureMapperShaderManager.h:
2156         (StandardFilterProgram):
2157
2158 2012-06-08  Dan Bernstein  <mitz@apple.com>
2159
2160         Tried to fix the build after r119844.
2161
2162         * bindings/js/GCController.cpp:
2163         (WebCore::GCController::discardAllCompiledCode):
2164
2165 2012-06-08  Mike West  <mkwst@chromium.org>
2166
2167         Add COMPILE_ASSERT to StyledElement to ensure it doesn't accidentally grow larger.
2168         https://bugs.webkit.org/show_bug.cgi?id=88627
2169
2170         Reviewed by Adam Barth.
2171
2172         No change in user-facing behavior.
2173
2174         * dom/StyledElement.cpp:
2175         (WebCore):
2176
2177 2012-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
2178
2179         Web Inspector: Fix several compiler warnings and errors.
2180         https://bugs.webkit.org/show_bug.cgi?id=88660
2181
2182         Reviewed by Pavel Feldman.
2183
2184         Fixed several compiler warnings and errors.
2185         Removed isEmpty method from Object.prototype and made it static method on Object.
2186
2187         * inspector/InjectedScriptExterns.js:
2188         * inspector/front-end/FileSystemModel.js:
2189         (WebInspector.FileSystemModel.prototype._detachFrame):
2190         * inspector/front-end/HeapSnapshot.js:
2191         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
2192         * inspector/front-end/utilities.js:
2193         (Object.isEmpty):
2194
2195 2012-06-08  Max Feil  <mfeil@rim.com>
2196
2197         [BlackBerry] Fix assertion failure introduced by bug 87551
2198         https://bugs.webkit.org/show_bug.cgi?id=88659
2199
2200         Reviewed by Antonio Gomes.
2201
2202         The determineRenderSlider() convenience function added in bug
2203         87551 made an assumption that wasn't always true. This didn't
2204         cause a functional error but it caused an assertion failure,
2205         which indicates a problem with the code. PR164142.
2206
2207         No new tests because this case is already covered by ASSERT's.
2208
2209         * platform/blackberry/RenderThemeBlackBerry.cpp:
2210         (WebCore::determineRenderSlider):
2211
2212 2012-06-08  Ion Rosca  <rosca@adobe.com>
2213
2214         Some overlay scrollbar API calls in ScrollAnimatorMac can lead to an assertion in RenderBox::mapAbsoluteToLocalPoint
2215         https://bugs.webkit.org/show_bug.cgi?id=74111
2216
2217         Reviewed by Simon Fraser.
2218
2219         Added zero-delay timer for AppKit scroll notification that can be called during layout.
2220         Manual test: ManualTests/scrollbar-crash-on-hide-scrolled-area.html
2221         This assertion does not fire when running layout tests. It can be easly reproduced using a debug build by loading the manual test page.
2222
2223         * platform/mac/ScrollAnimatorMac.h:
2224         (ScrollAnimatorMac):
2225         * platform/mac/ScrollAnimatorMac.mm:
2226         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2227         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
2228         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
2229         (WebCore):
2230         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
2231
2232 2012-06-08  Renata Hodovan  <reni@webkit.org>
2233
2234         Adding few already supported features to the FeatureSet in DOMImplementation
2235         https://bugs.webkit.org/show_bug.cgi?id=86482
2236
2237         Text, Filter and View features are already implemented but they
2238         are not added to the SVG11 feature set. This is corrected in this patch.
2239
2240         Reviewed by Nikolas Zimmermann.
2241
2242         No new testcase is needed because we already have one what checks the svg features via
2243         DOMImplementation (svg/custom/svg-features.html).
2244
2245         * dom/DOMImplementation.cpp:
2246         (WebCore::isSVG11Feature):
2247
2248 2012-06-08  Stephen Chenney  <schenney@chromium.org>
2249
2250         WebCore::ImageBuffer.cpp has broken color table code
2251         https://bugs.webkit.org/show_bug.cgi?id=80321
2252
2253         Reviewed by Dirk Schulze.
2254
2255         The code in ImageBuffer::transformColorSpace had two problems that are
2256         fixed by this patch.
2257
2258         First, it was using member variables for data
2259         that is static constant. This is incredibly wasteful, as every
2260         ImageBuffer that is created (and we make a lot of them) gets its own
2261         copy of the LUT and the table is initialized again and again. The
2262         patch replaces this with a static local, with lazy evaluation, in
2263         the method that uses the tables.
2264
2265         Second, the code for filling the table was mapping 255 to 254, thus
2266         reducing the intensity and alpha of every image it pushed through a
2267         color transform.
2268
2269         Test: svg/filters/color-space-conversion.svg
2270
2271         * platform/graphics/ImageBuffer.cpp:
2272         (WebCore::ImageBuffer::transformColorSpace):
2273         * platform/graphics/ImageBuffer.h:
2274         (ImageBuffer):
2275
2276 2012-06-08  Alexei Filippov  <alexeif@chromium.org>
2277
2278         Web Inspector: Better labels positioning on the memory pie chart
2279         https://bugs.webkit.org/show_bug.cgi?id=88652
2280
2281         Reviewed by Vsevolod Vlasov.
2282
2283         * inspector/front-end/NativeMemorySnapshotView.js:
2284         (WebInspector.NativeMemoryPieChart.prototype._paint.paintPercentAndLabel):
2285         (WebInspector.NativeMemoryPieChart.prototype._paint):
2286
2287 2012-06-08  Bryan McQuade  <bmcquade@google.com>
2288
2289         Web Inspector: Annotate timeline records with a frame identifier
2290         https://bugs.webkit.org/show_bug.cgi?id=86406
2291
2292         Reviewed by Vsevolod Vlasov.
2293
2294         Tests: Updated existing layout tests.
2295
2296         * inspector/InspectorController.cpp:
2297         (WebCore::InspectorController::InspectorController):
2298         * inspector/InspectorInstrumentation.cpp:
2299         (WebCore::frameForScriptExecutionContext):
2300         (WebCore):
2301         (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
2302         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
2303         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
2304         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2305         (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
2306         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2307         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
2308         (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
2309         (WebCore::InspectorInstrumentation::willFireTimerImpl):
2310         (WebCore::InspectorInstrumentation::willLayoutImpl):
2311         (WebCore::InspectorInstrumentation::willLoadXHRImpl):
2312         (WebCore::InspectorInstrumentation::willPaintImpl):
2313         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
2314         (WebCore::InspectorInstrumentation::willSendRequestImpl):
2315         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
2316         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
2317         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
2318         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
2319         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
2320         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
2321         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
2322         (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
2323         (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
2324         (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
2325         * inspector/InspectorInstrumentation.h:
2326         (InspectorInstrumentation):
2327         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
2328         (WebCore::InspectorInstrumentation::didInstallTimer):
2329         (WebCore::InspectorInstrumentation::didRemoveTimer):
2330         (WebCore::InspectorInstrumentation::willCallFunction):
2331         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
2332         (WebCore::InspectorInstrumentation::willDispatchEvent):
2333         (WebCore::InspectorInstrumentation::willEvaluateScript):
2334         (WebCore::InspectorInstrumentation::willFireTimer):
2335         (WebCore::InspectorInstrumentation::willLayout):
2336         (WebCore::InspectorInstrumentation::willLoadXHR):
2337         (WebCore::InspectorInstrumentation::willPaint):
2338         (WebCore::InspectorInstrumentation::willRecalculateStyle):
2339         (WebCore::InspectorInstrumentation::willReceiveResourceData):
2340         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
2341         (WebCore::InspectorInstrumentation::willWriteHTML):
2342         (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
2343         (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
2344         (WebCore::InspectorInstrumentation::willFireAnimationFrame):
2345         * inspector/InspectorTimelineAgent.cpp:
2346         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2347         (WebCore::InspectorTimelineAgent::didBeginFrame):
2348         (WebCore::InspectorTimelineAgent::willCallFunction):
2349         (WebCore::InspectorTimelineAgent::willDispatchEvent):
2350         (WebCore::InspectorTimelineAgent::willLayout):
2351         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
2352         (WebCore::InspectorTimelineAgent::willPaint):
2353         (WebCore::InspectorTimelineAgent::willComposite):
2354         (WebCore::InspectorTimelineAgent::willWriteHTML):
2355         (WebCore::InspectorTimelineAgent::didInstallTimer):
2356         (WebCore::InspectorTimelineAgent::didRemoveTimer):
2357         (WebCore::InspectorTimelineAgent::willFireTimer):
2358         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2359         (WebCore::InspectorTimelineAgent::willLoadXHR):
2360         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2361         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
2362         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2363         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
2364         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
2365         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2366         (WebCore::InspectorTimelineAgent::didTimeStamp):
2367         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
2368         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
2369         (WebCore::InspectorTimelineAgent::didRequestAnimationFrame):
2370         (WebCore::InspectorTimelineAgent::didCancelAnimationFrame):
2371         (WebCore::InspectorTimelineAgent::willFireAnimationFrame):
2372         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2373         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2374         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2375         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2376         (WebCore::InspectorTimelineAgent::appendRecord):
2377         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2378         (WebCore::InspectorTimelineAgent::pushCancelableRecord):
2379         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
2380         * inspector/InspectorTimelineAgent.h:
2381         (WebCore):
2382         (WebCore::InspectorTimelineAgent::create):
2383         (InspectorTimelineAgent):
2384         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2385         (TimelineRecordEntry):
2386         * inspector/WorkerInspectorController.cpp:
2387         (WebCore::WorkerInspectorController::WorkerInspectorController):
2388         * inspector/front-end/TimelinePresentationModel.js:
2389         (WebInspector.TimelinePresentationModel.isEventDivider):
2390         (WebInspector.TimelinePresentationModel.Record):
2391
2392 2012-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2393
2394         Unreviewed, rolling out r119821.
2395         http://trac.webkit.org/changeset/119821
2396         https://bugs.webkit.org/show_bug.cgi?id=88648
2397
2398         Seems to have regression on Mac (Requested by kinuko on
2399         #webkit).
2400
2401         * fileapi/File.cpp:
2402         (WebCore::File::File):
2403         (WebCore::File::lastModifiedDate):
2404         (WebCore::File::lastModifiedDateForBinding):
2405         (WebCore):
2406         (WebCore::File::captureSnapshot):
2407         * fileapi/File.h:
2408         (File):
2409         * fileapi/File.idl:
2410         * platform/FileMetadata.h:
2411         (WebCore::FileMetadata::FileMetadata):
2412         * platform/FileSystem.h:
2413         * platform/chromium/support/WebHTTPBody.cpp:
2414         (WebKit::WebHTTPBody::elementAt):
2415         * platform/network/BlobData.cpp:
2416         (WebCore):
2417         * platform/network/BlobData.h:
2418         (BlobDataItem):
2419         (WebCore::BlobDataItem::BlobDataItem):
2420         * platform/network/FormData.cpp:
2421         (WebCore::FormData::appendFile):
2422         * platform/network/cf/FormDataStreamCFNet.cpp:
2423         (WebCore::advanceCurrentStream):
2424         * platform/network/soup/ResourceHandleSoup.cpp:
2425         (WebCore::blobIsOutOfDate):
2426
2427 2012-06-08  Kinuko Yasuda  <kinuko@chromium.org>
2428
2429         Unreviewed, removing duplicated entries in gyp.
2430
2431         * WebCore.gypi:
2432
2433 2012-06-08  Arko Saha  <arko@motorola.com>
2434
2435         Microdata: An element with an empty itemprop='' should not get listed in the .properties list.
2436         https://bugs.webkit.org/show_bug.cgi?id=88235
2437
2438         Reviewed by Ryosuke Niwa.
2439
2440         As per the specification change http://html5.org/r/6854, an element should be listed in .properties
2441         if the elelement has an attribute itemprop specified and the element has one or more property names.
2442
2443         Test: fast/dom/MicroData/element-with-empty-itemprop.html
2444
2445         * html/HTMLPropertiesCollection.cpp:
2446         (WebCore::HTMLPropertiesCollection::itemAfter):
2447
2448 2012-06-07  Kinuko Yasuda  <kinuko@chromium.org>
2449
2450         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
2451         https://bugs.webkit.org/show_bug.cgi?id=87826
2452
2453         Reviewed by Kent Tamura.
2454
2455         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
2456
2457         * fileapi/File.cpp:
2458         (WebCore::File::File):
2459         (WebCore::File::captureSnapshot):
2460         (WebCore::File::lastModifiedDate):
2461         (WebCore::File::lastModifiedDateForBinding): Removed.
2462         * fileapi/File.h:
2463         (File):
2464         * fileapi/File.idl:
2465         * platform/FileMetadata.h:
2466         (WebCore::FileMetadata::FileMetadata):
2467         * platform/FileSystem.h:
2468         * platform/chromium/support/WebHTTPBody.cpp:
2469         (WebKit::WebHTTPBody::elementAt):
2470         * platform/network/BlobData.h:
2471         (WebCore::BlobDataItem::doNotCheckFileChange): Removed.
2472         * platform/network/BlobData.cpp:
2473         * platform/network/cf/FormDataStreamCFNet.cpp:
2474         (WebCore::advanceCurrentStream):
2475         * platform/network/soup/ResourceHandleSoup.cpp:
2476         (WebCore::blobIsOutOfDate):
2477
2478 2012-06-08  Kent Tamura  <tkent@chromium.org>
2479
2480         Move form-related functions of Document to FormController
2481         https://bugs.webkit.org/show_bug.cgi?id=88497
2482
2483         Reviewed by Hajime Morita.
2484
2485         A lot of files depend on Document.h. We had to build many files when we
2486         touched form-related features in Document.h or
2487         CheckedRadioButtons.h. This patch reduces such pain.
2488
2489         No new tests. Just a refactoring.
2490
2491         * CMakeLists.txt: Add FormController.cpp and/or FormController.h.
2492         * GNUmakefile.list.am: ditto.
2493         * Target.pri: ditto.
2494         * WebCore.gypi: ditto.
2495         * WebCore.vcproj/WebCore.vcproj: ditto.
2496         * WebCore.xcodeproj/project.pbxproj: ditto.
2497
2498         * dom/Document.cpp: Removed form-releated features except the followings.
2499         (WebCore::Document::formController): Accessor for a FormController.
2500         (WebCore::Document::formElementsState):
2501         Just returns FormController::formElementsState().
2502         We don't create new FormController.
2503         (WebCore::Document::setStateForNewFormElements):
2504         Just returns FormController::setStateForNewFormElements().
2505         We don't create new FormController if the specified vector is empty.
2506         * dom/Document.h:
2507         Moved form-related functions to FormController.
2508
2509         * html/FormController.cpp: Added. Moved from Document.cpp.
2510         * html/FormController.h: Added. Moved from Document.h
2511
2512         * html/FormAssociatedElement.cpp: Use Document::formController().
2513         (WebCore::FormAssociatedElement::didMoveToNewDocument):
2514         (WebCore::FormAssociatedElement::insertedInto):
2515         (WebCore::FormAssociatedElement::removedFrom):
2516         (WebCore::FormAssociatedElement::formAttributeChanged):
2517         * html/HTMLFormControlElementWithState.cpp: Use Document::formController().
2518         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
2519         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
2520         (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
2521         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
2522         * html/HTMLFormElement.cpp: Use Document::formController().
2523         (WebCore::HTMLFormElement::didNotifyDescendantInsertions):
2524         (WebCore::HTMLFormElement::removedFrom):
2525         * html/HTMLInputElement.cpp: Use Document::formController().
2526         (WebCore::HTMLInputElement::~HTMLInputElement):
2527         (WebCore::HTMLInputElement::didMoveToNewDocument):
2528         (WebCore::HTMLInputElement::checkedRadioButtons):
2529         * html/HTMLInputElement.h:
2530         Declare CheckedRadioButtons. It was provided by Document.h.
2531         * html/parser/HTMLConstructionSite.h:
2532         Declare HTMLFormElement. It was provided by Document.h
2533
2534 2012-06-08  Taiju Tsuiki  <tzik@chromium.org>
2535
2536         Add FileSystem item to storage tree.
2537         https://bugs.webkit.org/show_bug.cgi?id=72691
2538
2539         Reviewed by Vsevolod Vlasov.
2540
2541         * WebCore.gypi:
2542         * WebCore.vcproj/WebCore.vcproj:
2543         * inspector/compile-front-end.py:
2544         * inspector/front-end/FileSystemModel.js: Added.
2545         * inspector/front-end/Images/fileSystem.png: Added.
2546         * inspector/front-end/ResourcesPanel.js:
2547         (WebInspector.FileSystemListTreeElement):
2548         (WebInspector.FileSystemListTreeElement.prototype.onexpand):
2549         (WebInspector.FileSystemListTreeElement.prototype.onattach):
2550         (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
2551         (WebInspector.FileSystemListTreeElement.prototype._fileSystemAdded):
2552         (WebInspector.FileSystemListTreeElement.prototype._fileSystemRemoved):
2553         (WebInspector.FileSystemListTreeElement.prototype._fileSystemTreeElementByName):
2554         (WebInspector.FileSystemListTreeElement.prototype._refreshFileSystem):
2555         (WebInspector.FileSystemTreeElement):
2556         (WebInspector.FileSystemTreeElement.prototype.get fileSystemName):
2557         (WebInspector.FileSystemTreeElement.prototype.get itemURL):
2558         * inspector/front-end/Settings.js:
2559         (WebInspector.ExperimentsSettings):
2560         * inspector/front-end/WebKit.qrc:
2561         * inspector/front-end/inspector.html:
2562         * inspector/front-end/resourcesPanel.css:
2563         (.file-system-storage-tree-item .icon):
2564         * inspector/front-end/utilities.js:
2565
2566 2012-06-08  Kentaro Hara  <haraken@chromium.org>
2567
2568         REGRESSION r119802: Remove unnecessary ASSERT(!m_deletionHasBegun) from Document.h
2569         https://bugs.webkit.org/show_bug.cgi?id=88528
2570
2571         Reviewed by Ryosuke Niwa.
2572
2573         m_deletionHasBegun should become true just before 'delete this'.
2574
2575         No tests. No change in behavior.
2576
2577         * dom/Document.h:
2578         (WebCore::Document::guardRef):
2579         (WebCore::Document::guardDeref):
2580
2581 2012-06-08  Adam Barth  <abarth@webkit.org>
2582
2583         HTTP 204 No Content responses shouldn't trigger MIME type warnings in the web inspector
2584         https://bugs.webkit.org/show_bug.cgi?id=88603
2585
2586         Reviewed by Pavel Feldman.
2587
2588         A 204 response doesn't have an entity body, so its MIME type is kind of
2589         meaningless.  We shouldn't spam the console with a warning about MIME
2590         types.
2591
2592         * inspector/front-end/NetworkManager.js:
2593         (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
2594
2595 2012-06-08  Yoshifumi Inoue  <yosin@chromium.org>
2596
2597         [Forms] Drop StepRange::NumberWithDecimalPlacesOrMissing
2598         https://bugs.webkit.org/show_bug.cgi?id=88621
2599
2600         Reviewed by Kent Tamura.
2601
2602         This patch changes NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
2603         We use NaN as indication of having value or not.
2604
2605         No new tests, because this patch doesn't change behavior.
2606
2607         * html/DateInputType.cpp:
2608         (WebCore::DateInputType::createStepRange): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
2609         * html/DateTimeInputType.cpp:
2610         (WebCore::DateTimeInputType::createStepRange): ditto.
2611         * html/DateTimeLocalInputType.cpp:
2612         (WebCore::DateTimeLocalInputType::createStepRange): ditto.
2613         * html/MonthInputType.cpp:
2614         (WebCore::MonthInputType::createStepRange): ditto.
2615         * html/NumberInputType.cpp:
2616         (WebCore::NumberInputType::createStepRange): ditto.
2617         * html/RangeInputType.cpp:
2618         (WebCore::RangeInputType::createStepRange): ditto.
2619         * html/StepRange.cpp:
2620         (WebCore::StepRange::StepRange): Checks value is finite or not.
2621         (WebCore::StepRange::parseStep): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
2622         * html/StepRange.h:
2623         (StepRange): Removed NumberWithDecimalPlacesOrMissing.
2624         * html/TimeInputType.cpp:
2625         (WebCore::TimeInputType::createStepRange):  NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
2626         * html/WeekInputType.cpp:
2627         (WebCore::WeekInputType::createStepRange): ditto.
2628
2629 2012-06-08  Kentaro Hara  <haraken@chromium.org>
2630
2631         Unreviewed. Fixed a comment, pointed out by ap@.
2632
2633         * platform/TreeShared.h:
2634         (WebCore):
2635
2636 2012-06-08  Noel Gordon  <noel.gordon@gmail.com>
2637
2638         [chromium] WEBP image blue and red color channels reversed on Android
2639         https://bugs.webkit.org/show_bug.cgi?id=88613
2640
2641         Reviewed by Kent Tamura.
2642
2643         No new tests. Covered by test fast/images/webp-image-decoding.html though I'm
2644         not sure where/how the Androids run their layout tests.
2645
2646         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2647         (outputMode): Detect little-endian Skia with a blue pixel shift (aka Android)
2648         which seems to be the way for them per bug 75861.
2649
2650 2012-06-08  Ryosuke Niwa  <rniwa@webkit.org>
2651
2652         Remove the assertion that has been moved to TreeScope after r119802.
2653
2654         * dom/Document.cpp:
2655         (WebCore::Document::removedLastRef):
2656
2657 2012-06-07  Kentaro Hara  <haraken@chromium.org>
2658
2659         Reduce Node object size from 72 byte to 64 byte
2660         https://bugs.webkit.org/show_bug.cgi?id=88528
2661
2662         Reviewed by Ryosuke Niwa.
2663
2664         This patch removes all virtual methods from TreeShared.h,
2665         by which we can remove a virtual method table pointer (8 byte
2666         in a 64bit architechture) from each Node object. Consequently,
2667         this patch reduces the Node object size from 72 byte to 64 byte.
2668
2669         e.g. The HTML spec (http://www.whatwg.org/specs/web-apps/current-work/)
2670         contains 325640 Node objects. Thus this patch saves 325640 * 8 byte = 2.6 MB.
2671
2672         e.g. sizeof(Element) is reduced from 104 byte to 96 byte.
2673
2674         - In multiple inheritance, a virtual method table pointer is allocated
2675         for each base class that has virtual methods. For example, for
2676         'class A : public B, C {};' where B and C have virtual methods,
2677         two virtual method table pointers are allocated for each A object.
2678         In this patch, A = Node, B = EventTarget, and C = TreeShared.
2679         By removing the virtual methods from TreeShared, we can save the virtual
2680         method table pointer for TreeShared. 8 byte saving.
2681
2682         - Node and SVGElementInstance are the only classes that inherit TreeShared.
2683
2684         - This patch removes virtual TreeShared::removeLastRef() and implements
2685         virtual Node::removeLastRef() and virtual SVGElementInstance::removeLastRef().
2686         Node::removeLastRef() calls 'delete this' for 'this' of type Node*,
2687         and SVGElementInstance::removeLastRef() calls 'delete this' for 'this' of type
2688         SVGElementInstance*.
2689
2690         - This patch removes the virtual destructor of TreeShared. This removal is safe
2691         because (1) no one calls 'delete this' for 'this' of type TreeShared*,
2692         and (2) both Node and SVGElementInstance have virtual destructor.
2693
2694         No change in behavior. Confirm no regression in existing tests.
2695
2696         * dom/ContainerNode.cpp:
2697         (WebCore::callRemovedLastRef):
2698         (WebCore):
2699         * dom/Node.h:
2700         (WebCore::Node::removedLastRef):
2701         * platform/TreeShared.h:
2702         (WebCore):
2703         (TreeShared):
2704         (WebCore::TreeShared::deref):
2705         * svg/SVGElementInstance.cpp:
2706         (WebCore::callRemovedLastRef):
2707         (WebCore):
2708         * svg/SVGElementInstance.h:
2709         (WebCore::SVGElementInstance::removedLastRef):
2710
2711         * WebCore.order: Added a symbol for callRemovedLastRef().
2712         * WebCore.exp.in: Ditto.
2713
2714 2012-06-07  Takashi Sakamoto  <tasak@google.com>
2715
2716         ShadowRoot needs resetStyleInheritance
2717         https://bugs.webkit.org/show_bug.cgi?id=84048
2718
2719         Added resetStyleInheritance API to ShadowRoot. The spec URL is
2720         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-attributes
2721         To implement the API, modified StyleResolver to use empty style
2722         instead of parent style if resetStyleInheritance is true,
2723         and a node and its parent node are placed in different shadow trees.
2724
2725         Reviewed by Hajime Morita.
2726
2727         Test: fast/dom/shadow/shadow-root-resetStyleInheritance.html
2728               fast/dom/shadow/shadow-root-resetStyleInheritance-expected.html
2729
2730         * css/StyleResolver.cpp:
2731         (WebCore::StyleResolver::initForStyleResolve):
2732         Set m_parentStyle to NULL when resetStyleInheritance.
2733         (WebCore::StyleResolver::documentSettings):
2734         Added a new method to obtain current document's settings.
2735         (WebCore::StyleResolver::initializeFontStyle):
2736         Initialize m_style by using document settings. Its code was move
2737         from the code initializing font style in applyProperty.
2738         (WebCore::StyleResolver::styleForElement):
2739         Initialize font style if m_parentStyle is NULL. The old code just
2740         used style() and don't touch font style. The new code uses the above
2741         initializeFontStyle.
2742         (WebCore::StyleResolver::applyProperty):
2743         Moved a code for initializing font style as "initial" to
2744         a new method: initializeFontStyle and modified to use the method.
2745         Modified to use documentSettings().
2746         (WebCore::StyleResolver::checkForGenericFamilyChange):
2747         Modified to use documentSettings().
2748         * css/StyleResolver.h:
2749         (WebCore::StyleResolver::documentSettings):
2750         (WebCore::StyleResolver::initializeFontStyle):
2751         Added two new methods to class StyleResolver.
2752         * dom/NodeRenderingContext.cpp:
2753         (WebCore::NodeRenderingContext::NodeRenderingContext):
2754         Modified to calculate m_resetStyleInheritance in its constructor.
2755         * dom/NodeRenderingContext.h:
2756         (WebCore::NodeRenderingContext::resetStyleInheritance):
2757         Implemented a new method, just returning m_resetStyleInheritance.
2758         * dom/ShadowRoot.cpp:
2759         (WebCore::ShadowRoot::setResetStyleInheritance):
2760         Modified to force to recalculate children's styles if
2761         resetStyleInheritance is changed.
2762         * dom/ShadowRoot.h:
2763         (ShadowRoot):
2764         Added resetStyleInheritance getter and setter.
2765         * dom/ShadowRoot.idl:
2766         Added an attribute, resetStyleInheritance.
2767         * dom/TreeScope.cpp:
2768         (WebCore::TreeScope::resetStyleInheritance):
2769         * dom/TreeScope.h:
2770         (TreeScope):
2771         Added resetStyleInheritance's default getter.
2772         The getter will be overrided by class ShadowRoot's getter.
2773
2774 2012-06-07  Victor Carbune  <victor@rosedu.org>
2775
2776         addTextTrack should set track mode to HIDDEN
2777         https://bugs.webkit.org/show_bug.cgi?id=88317
2778
2779         Reviewed by Eric Carlson.
2780
2781         Updated existing test.
2782
2783         * html/HTMLMediaElement.cpp:
2784         (WebCore::HTMLMediaElement::addTextTrack): Set the default parameters
2785         for the newly created TextTrack.
2786         * html/track/TextTrack.cpp:
2787         (WebCore::TextTrack::TextTrack):
2788
2789 2012-06-07  Li Yin  <li.yin@intel.com>
2790
2791         FileAPI: Blob should support ArrayBufferView instead of ArrayBuffer for Constructor Parameters
2792         https://bugs.webkit.org/show_bug.cgi?id=88294
2793
2794         Reviewed by Jian Li.
2795
2796         From Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob
2797         Currently we add the support for ArrayBufferView, while still keeping ArrayBuffer for
2798         backward compatibility. We will remove it in the near future.
2799
2800         Test: fast/files/blob-constructor.html
2801
2802         * bindings/js/JSBlobCustom.cpp:
2803         (WebCore::JSBlobConstructor::constructJSBlob):
2804         * bindings/v8/custom/V8BlobCustom.cpp:
2805         (WebCore::V8Blob::constructorCallback):
2806         * fileapi/WebKitBlobBuilder.cpp:
2807         (WebCore::WebKitBlobBuilder::append):
2808         (WebCore):
2809         * fileapi/WebKitBlobBuilder.h:
2810         (WebCore):
2811         (WebKitBlobBuilder):
2812         * fileapi/WebKitBlobBuilder.idl: Add support for ArrayBufferView in append method
2813
2814 2012-06-07  MORITA Hajime  <morrita@google.com>
2815
2816         A style in an older shadow subtree causes assert when composing with <shadow>
2817         https://bugs.webkit.org/show_bug.cgi?id=88299
2818
2819         Reviewed by Dimitri Glazkov.
2820
2821         InsertionPoint::attach() assumes its distributed content not being attach()-ed.
2822         But this assumption can break. This change added a guard for that.
2823         This can happen for shadow boundaries in general. But ShadowRoot already handles that case.
2824
2825         Test: fast/dom/shadow/insertion-point-shadow-crash.html
2826
2827         * html/shadow/InsertionPoint.cpp:
2828         (WebCore::InsertionPoint::attach):
2829
2830 2012-06-07  Max Feil  <mfeil@rim.com>
2831
2832         [BlackBerry] Show correct fullscreen button image (media controls)
2833         https://bugs.webkit.org/show_bug.cgi?id=88563
2834
2835         Reviewed by Antonio Gomes.
2836
2837         PR159306: Show "exit" fullscreen button image instead of "enter"
2838         fullscreen button image when in fullscreen mode (HTML5 media
2839         controls).
2840
2841         I am not providing a test due to the simplicity of this patch
2842         and the relative difficulty and maintainability issues associated
2843         with testing how an image is rendered.
2844
2845         * platform/blackberry/RenderThemeBlackBerry.cpp:
2846         (WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton):
2847
2848 2012-06-07  Noel Gordon  <noel.gordon@gmail.com>
2849
2850         [chromium] Use WEBPImportPictureRGBX|BGRX to import picture data
2851         https://bugs.webkit.org/show_bug.cgi?id=88218
2852
2853         Reviewed by Kent Tamura.
2854
2855         Stop using the RGBA and RGBA variants of the picture import routines (since
2856         these will import alpha channel data in a future libwebp). Use the RGBX and
2857         BGRX variants to import picture data for encoding to make it clear that the
2858         alpha channel is (and must be) ignored.
2859
2860         Test: fast/canvas/canvas-toDataURL-webp.html
2861
2862         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
2863         (WebCore::rgbPictureImport):
2864         (WebCore::importPictureBGRX): Use WEBPImportPictureBGRX for picture imports
2865         that must ignore the alpha channel. Change the template parameter to be the
2866         premultiplied alpha state of the input image data.
2867         (WebCore::importPictureRGBX): Use WEBPImportPictureRGBX, ditto.
2868         (WebCore::encodePixels): Invert the sense of the template parameter to make
2869         it now indicate the premultiplied alpha state of the input image data.
2870
2871 2012-06-07  Takashi Sakamoto  <tasak@google.com>
2872
2873         Improve the performance of pushScope in StyleResolver
2874         https://bugs.webkit.org/show_bug.cgi?id=88222
2875
2876         Reviewed by Hajime Morita.
2877
2878         As setupScopeStack always sets m_scopeStackParent to be NULL,
2879         m_scopeStack is never reused. m_scopeStackParent should be the last
2880         element of m_scopeStack.
2881
2882         No new tests, because fast/css/style-scoped/ uses pushScope,
2883         popScope and setupScopeStack and checks whether there exists
2884         any crash bug or not. And this patch doesn't change any behavior
2885         of scoped author syltes.
2886
2887         * css/StyleResolver.cpp:
2888         (WebCore::StyleResolver::setupScopeStack):
2889         Modified to set m_scopeSackParent to be the last element of
2890         m_scopeStack.
2891         (WebCore::StyleResolver::popScope):
2892         Modified to remove the last element if m_scopeStack is not empty and
2893         the last element of m_scopeStack has the same scope as the scoping
2894         element given by the argument.
2895
2896 2012-06-07  Mark Pilgrim  <pilgrim@chromium.org>
2897
2898         [Chromium] Move didStartWorkerRunLoop to Platform.h
2899         https://bugs.webkit.org/show_bug.cgi?id=88562
2900
2901         Reviewed by Adam Barth.
2902
2903         Part of a refactoring series. See tracking bug 82948.
2904
2905         * WebCore.gyp/WebCore.gyp:
2906         * bindings/v8/WorkerScriptController.cpp:
2907         (WebCore::WorkerScriptController::~WorkerScriptController):
2908         * platform/chromium/PlatformSupport.h:
2909         (WebCore):
2910         * workers/WorkerThread.cpp:
2911         (WebCore::WorkerThread::workerThread):
2912
2913 2012-06-07  Mike West  <mkwst@chromium.org>
2914
2915         Dropping m_startingLineNumber property from StyledElement.
2916         https://bugs.webkit.org/show_bug.cgi?id=86848
2917
2918         Reviewed by Adam Barth.
2919
2920         We can have the same effect by moving the line-number calculation
2921         directly into StyledElement::styleAttributeChanged. This means that
2922         subsequent changes to the style attribute (via script) won't generate
2923         error messages with line numbers, but that's an acceptable tradeoff.
2924
2925         Behavior is covered by existing CSP tests.
2926
2927         * dom/StyledElement.cpp:
2928         (WebCore::StyledElement::StyledElement):
2929         (WebCore::StyledElement::styleAttributeChanged):
2930         * dom/StyledElement.h:
2931         (WebCore::StyledElement::destroyInlineStyle):
2932
2933 2012-06-07  Peter Beverloo  <peter@chromium.org>
2934
2935         Initialize m_document in AXObjectCache's constructor for !HAVE(ACCESSIBILITY) builds
2936         https://bugs.webkit.org/show_bug.cgi?id=88527
2937
2938         Reviewed by Adam Barth.
2939
2940         Initialize the m_document member with the passed on document in the stubbed
2941         AXObjectCache constructor. No behavioral changes.
2942
2943         * accessibility/AXObjectCache.h:
2944         (WebCore::AXObjectCache::AXObjectCache):
2945
2946 2012-06-05  James Robinson  <jamesr@chromium.org>
2947
2948         [chromium] Move deferral-related logic out of Canvas2DLayerChromium
2949         https://bugs.webkit.org/show_bug.cgi?id=86050
2950
2951         Reviewed by Stephen White.
2952
2953         This removes Canvas2DLayerChromium and puts the deferral and double-buffering related logic in a new class,
2954         Canvas2DLayerBridge, that uses TextureLayerChromium for compositing.  The bridge is responsible for managing the
2955         front texture when double buffering is active, inserting the correct makeContextCurrent() and flush() calls on
2956         the GraphicsContext3D and SkCanvas when appropriate, and owning the lifetime of the layer.
2957
2958         * WebCore.gypi:
2959         * platform/graphics/chromium/Canvas2DLayerBridge.cpp: Added.
2960         (WebCore):
2961         (AcceleratedDeviceContext):
2962         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
2963         (WebCore::AcceleratedDeviceContext::prepareForDraw):
2964         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2965         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2966         (WebCore::Canvas2DLayerBridge::skCanvas):
2967         (WebCore::Canvas2DLayerBridge::prepareTexture):
2968         (WebCore::Canvas2DLayerBridge::context):
2969         (WebCore::Canvas2DLayerBridge::layer):
2970         (WebCore::Canvas2DLayerBridge::contextAcquired):
2971         * platform/graphics/chromium/Canvas2DLayerBridge.h: Added.
2972         (WebCore):
2973         (Canvas2DLayerBridge):
2974         (WebCore::Canvas2DLayerBridge::create):
2975         * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Removed.
2976         * platform/graphics/chromium/Canvas2DLayerChromium.h: Removed.
2977         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2978         * platform/graphics/chromium/ImageBufferDataSkia.h:
2979         (WebCore):
2980         (ImageBufferData):
2981         * platform/graphics/chromium/TextureLayerChromium.cpp:
2982         (WebCore::TextureLayerChromium::willModifyTexture):
2983             willModifyTexture() is called whenever the texture currently owned by the TextureLayerChromium will be
2984             modified by a system out of the compositor's control. It makes sure that the compositor does not attempt to
2985             draw with the potentially-modified texture until the next commit. For canvas, this is used when threading is
2986             enabled and a non-deferrable drawing command is invoked from JS.
2987         (WebCore):
2988         * platform/graphics/chromium/TextureLayerChromium.h:
2989         (TextureLayerChromium):
2990         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
2991         (WebCore::CCTextureUpdater::hasMoreUpdates):
2992         (WebCore::CCTextureUpdater::update):
2993         (WebCore::CCTextureUpdater::clear):
2994         * platform/graphics/chromium/cc/CCTextureUpdater.h:
2995         (CCTextureUpdater):
2996         * platform/graphics/skia/ImageBufferSkia.cpp:
2997         (WebCore::createAcceleratedCanvas):
2998         (WebCore::ImageBuffer::~ImageBuffer):
2999         (WebCore::ImageBuffer::context):
3000         (WebCore::ImageBuffer::platformLayer):
3001
3002 2012-06-07  Patrick Gansterer  <paroga@webkit.org>
3003
3004         Remove HAVE(PATH_BASED_BORDER_RADIUS_DRAWING)
3005         https://bugs.webkit.org/show_bug.cgi?id=87931
3006
3007         Reviewed by Beth Dakin.
3008
3009         r62035 added HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until all ports implement
3010         GraphicsContext::clipConvexPolygon(). All major ports define HAVE_PATH_BASED_BORDER_RADIUS_DRAWING in the
3011         meantime and the alternative path has unnecessary maintainace costs and even don't compile at the moment.
3012
3013         * rendering/RenderBoxModelObject.cpp:
3014         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
3015         * rendering/RenderObject.cpp:
3016         (WebCore::RenderObject::paintFocusRing):
3017         * rendering/RenderObject.h:
3018         (RenderObject):
3019
3020 2012-06-06  Vincent Scheib  <scheib@chromium.org>
3021
3022         Add new Pointer Lock spec events webkitpointerlockchange and webkitpointerlockerror
3023         https://bugs.webkit.org/show_bug.cgi?id=88377
3024
3025         Reviewed by Dimitri Glazkov.
3026
3027         Part of a series of refactoring changes to update pointer lock API to
3028         the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
3029
3030         New change and error events added. Follow up patches will remove
3031         the previous callbacks and pointerlocklost event. Tests updated
3032         to include the new events, and a new test added specifically for
3033         the new events, pointerlockchange-pointerlockerror-events.html.
3034
3035         Test: pointer-lock/pointerlockchange-pointerlockerror-events.html
3036
3037         * dom/Document.h:
3038         (Document):
3039         * dom/Document.idl:
3040         * dom/EventNames.h:
3041         (WebCore):
3042         * page/PointerLockController.cpp:
3043         (WebCore::PointerLockController::requestPointerLock):
3044         (WebCore::PointerLockController::didAcquirePointerLock):
3045         (WebCore::PointerLockController::didNotAcquirePointerLock):
3046         (WebCore::PointerLockController::didLosePointerLock):
3047         (WebCore::PointerLockController::enqueueEvent):
3048         (WebCore):
3049         * page/PointerLockController.h:
3050         (PointerLockController):
3051
3052 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3053
3054         Unreviewed, rolling out r119744.
3055         http://trac.webkit.org/changeset/119744
3056         https://bugs.webkit.org/show_bug.cgi?id=88584
3057
3058         Fails assertions in debug builds (Requested by jamesr_ on
3059         #webkit).
3060
3061         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
3062         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
3063         (WebCore::CCIOSurfaceLayerImpl::willDraw):
3064
3065 2012-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
3066
3067         Cache RenderLayer::isRootLayer for better performance
3068         https://bugs.webkit.org/show_bug.cgi?id=88570
3069
3070         Reviewed by Ojan Vafai.
3071
3072         Caching covered by existing tests.
3073
3074         RenderLayer::isRootLayer()'s answer will be the same during the RenderLayer's
3075         lifetime as a RenderLayer is tied to a RenderBoxModelObject. This change caches
3076         isRootLayer value in the constructor.
3077
3078         On http://dglazkov.github.com/performance-tests/biggrid.html with a 100,000 rows
3079         by 100 columns table, it saves about 10% on the paint time during scrolling on
3080         my machine (going from 50ms to 45ms). It would expect all code paths to see some
3081         improvement as checking renderer()->isRenderView() was pretty common.
3082
3083         * rendering/RenderLayer.cpp:
3084         (WebCore::RenderLayer::RenderLayer):
3085         Added code to cache the result of renderer()->isRenderView() here.
3086
3087         (WebCore::RenderLayer::stackingContext):
3088         (WebCore::isPositionedContainer):
3089         (WebCore::isFixedPositionedContainer):
3090         (WebCore::RenderLayer::enclosingTransformedAncestor):
3091         (WebCore::RenderLayer::clippingRootForPainting):
3092         (WebCore::shouldSuppressPaintingLayer):
3093         (WebCore::RenderLayer::hitTest):
3094         (WebCore::RenderLayer::intersectsDamageRect):
3095         * rendering/RenderLayer.h:
3096         (WebCore::RenderLayer::isStackingContext):
3097         Updated all the call sites to use isRootLayer() instead of renderer()->isRenderView()
3098         as it is faster.
3099
3100         (WebCore::RenderLayer::isRootLayer):
3101         Added our caching here. Also made m_canSkipRepaintRectsUpdateOnScroll to follow
3102         m_isRootLayer example.
3103
3104 2012-06-07  Takashi Sakamoto  <tasak@google.com>
3105
3106         Incorrect border rendering when border radius is above 2px.
3107         https://bugs.webkit.org/show_bug.cgi?id=88046
3108
3109         Fixing findInnerVertex's logic to decide which is the better line
3110         to find an inner vertex, x=center point's x of a rendering box or
3111         y=center point's y of a rendering box.
3112
3113         Reviewed by Simon Fraser.
3114
3115         Test: fast/borders/border-radius-valid-border-clipping.html
3116
3117         * rendering/RenderBoxModelObject.cpp:
3118         (WebCore::findInnerVertex):
3119
3120 2012-06-07  Edaena Salinas Jasso  <edaena@apple.com>
3121
3122         Should fire error event for empty 404 script
3123         https://bugs.webkit.org/show_bug.cgi?id=50589
3124         
3125         Reviewed by Brady Eidson.
3126
3127         Tests: 
3128         http/tests/loading/fire-error-event-empty-404-script.html
3129         http/tests/loading/fire-error-script-no-content-type.html
3130
3131         * loader/SubresourceLoader.cpp:
3132         (WebCore::SubresourceLoader::didReceiveResponse): We should check for http status 
3133         codes here to stop depending on the response being non-empty.
3134         (WebCore::SubresourceLoader::didReceiveData): Moved the http status check but
3135         avoid messing with multipart responses.
3136         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError): Renamed from 
3137         errorLoadingResource for clarity.
3138
3139         * loader/SubresourceLoader.h:
3140         * loader/cf/SubresourceLoaderCF.cpp:
3141         (WebCore::SubresourceLoader::didReceiveDataArray):
3142         Updated for errorLoadingResource renaming.
3143
3144 2012-06-07  Konrad Piascik  <kpiascik@rim.com>
3145
3146         [BlackBerry] Update PlayBook's User Agent String for Web Inspector
3147         https://bugs.webkit.org/show_bug.cgi?id=88543
3148
3149         Reviewed by Antonio Gomes.
3150
3151         We expect users to upgrade their devices so developers only need the latest UA String.
3152
3153         No tests needed.
3154
3155         * inspector/front-end/SettingsScreen.js:
3156         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
3157
3158 2012-06-07  Shawn Singh  <shawnsingh@chromium.org>
3159
3160         [chromium] Remove obsolete FIXME comment about a layer sorting bug.
3161         https://bugs.webkit.org/show_bug.cgi?id=88546
3162
3163         Reviewed by James Robinson.
3164
3165         No tests needed, only comment changed. The comment referred to a
3166         potential bug that actually will not occur. The W3C spec on CSS 3d
3167         transforms indicates that layers that do not share the same "3d
3168         rendering context" do not sort together, and our existing code
3169         sorts this way already.
3170
3171         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3172         (WebCore::subtreeShouldRenderToSeparateSurface):
3173
3174 2012-06-07  Adam Barth  <abarth@webkit.org>
3175
3176         Settings::defaultDeviceScaleFactor is redundant with Page::deviceScaleFactor
3177         https://bugs.webkit.org/show_bug.cgi?id=88375
3178
3179         Reviewed by James Robinson.
3180
3181         This patch removes Settings::defaultDeviceScaleFactor because it is
3182         redundant with Page::deviceScaleFactor now that we no longer support
3183         target-densitydpi.  Page::deviceScaleFactor is the canonical place to
3184         store the device scale factor.
3185
3186         * WebCore.exp.in:
3187         * page/Settings.cpp:
3188         (WebCore::Settings::Settings):
3189         (WebCore):
3190         * page/Settings.h:
3191         (Settings):
3192         * testing/InternalSettings.cpp:
3193         (WebCore::InternalSettings::setDeviceScaleFactor):
3194
3195 2012-06-07  Alec Flett  <alecflett@chromium.org>
3196
3197         IndexedDB: Error codes, phase one
3198         https://bugs.webkit.org/show_bug.cgi?id=88459
3199
3200         Reviewed by Tony Chang.
3201
3202         This phase gets rid of the now-deprecated NOT_ALLOWED_ERR and
3203         NON_TRANSIENT_ERR from earlier versions of the spec, and
3204         normalizes the place where TypeError should be thrown so that it's
3205         easier to update when the bindings change.
3206
3207         No new tests: existing tests cover these changes and have been updated.
3208
3209         * Modules/indexeddb/IDBCursor.cpp:
3210         (WebCore::IDBCursor::advance):
3211         (WebCore::IDBCursor::continueFunction):
3212         (WebCore::IDBCursor::stringToDirection):
3213         (WebCore::IDBCursor::directionToString):
3214         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
3215         (WebCore::IDBCursorBackendImpl::update):
3216         (WebCore::IDBCursorBackendImpl::deleteFunction):
3217         * Modules/indexeddb/IDBDatabase.cpp:
3218         (WebCore::IDBDatabase::createObjectStore):
3219         (WebCore::IDBDatabase::deleteObjectStore):
3220         (WebCore::IDBDatabase::setVersion):
3221         (WebCore::IDBDatabase::transaction):
3222         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3223         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3224         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
3225         (WebCore::IDBDatabaseBackendImpl::setVersion):
3226         * Modules/indexeddb/IDBDatabaseException.cpp:
3227         (WebCore):
3228         * Modules/indexeddb/IDBDatabaseException.h:
3229         * Modules/indexeddb/IDBDatabaseException.idl:
3230         * Modules/indexeddb/IDBFactory.cpp:
3231         (WebCore::IDBFactory::open):
3232         (WebCore::IDBFactory::deleteDatabase):
3233         * Modules/indexeddb/IDBObjectStore.cpp:
3234         (WebCore::IDBObjectStore::index):
3235         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3236         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3237         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
3238         * Modules/indexeddb/IDBRequest.cpp:
3239         (WebCore::IDBRequest::result):
3240         (WebCore::IDBRequest::errorCode):
3241         (WebCore::IDBRequest::webkitErrorMessage):
3242         * Modules/indexeddb/IDBTransaction.cpp:
3243         (WebCore::IDBTransaction::objectStore):
3244         (WebCore::IDBTransaction::stringToMode):
3245         (WebCore::IDBTransaction::modeToString):
3246         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3247         (WebCore::IDBTransactionBackendImpl::objectStore):
3248
3249 2012-06-07  Dana Jansens  <danakj@chromium.org>
3250
3251         [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed
3252         https://bugs.webkit.org/show_bug.cgi?id=88371
3253
3254         Reviewed by James Robinson.
3255
3256         Unit test: CCLayerTreeHostImplTest.layersFreeTextures
3257
3258         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
3259         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
3260         (WebCore::CCIOSurfaceLayerImpl::willDraw):
3261
3262 2012-06-07  Peter Beverloo  <peter@chromium.org>
3263
3264         Buildfix for ENABLE_OVERFLOW_SCROLLING=0 (though defined)
3265         https://bugs.webkit.org/show_bug.cgi?id=88564
3266
3267         Reviewed by Adam Barth.
3268
3269         Where ENABLE(X) mandates that X both has to be defined and evaluates to
3270         true as a lone preprocessor statement, there were two places in the CSS
3271         property and value input files where only was checked whether is has
3272         been defined. This also goes against other #ifdefs in those files.
3273
3274         * css/CSSPropertyNames.in:
3275         * css/CSSValueKeywords.in:
3276
3277 2012-06-07  Ami Fischman  <fischman@chromium.org>
3278
3279         Plumb CORS attribute information from HTMLMediaElement to media players so it can be used
3280         https://bugs.webkit.org/show_bug.cgi?id=88349
3281
3282         Reviewed by Adam Barth.
3283
3284         Test: http/tests/security/video-cross-origin-readback.html
3285
3286         * html/HTMLMediaElement.cpp:
3287         (WebCore::HTMLMediaElement::mediaPlayerCORSMode):
3288         (WebCore):
3289         * html/HTMLMediaElement.h:
3290         (HTMLMediaElement):
3291         * html/canvas/CanvasRenderingContext.cpp:
3292         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
3293         * platform/graphics/MediaPlayer.cpp:
3294         (WebCore::MediaPlayer::didPassCORSAccessCheck):
3295         (WebCore):
3296         * platform/graphics/MediaPlayer.h:
3297         (WebCore::MediaPlayerClient::mediaPlayerCORSMode):
3298         (MediaPlayer):
3299         * platform/graphics/MediaPlayerPrivate.h:
3300         (WebCore::MediaPlayerPrivateInterface::didPassCORSAccessCheck):
3301         (MediaPlayerPrivateInterface):
3302
3303 2012-06-07  Mark Hahnenberg  <mhahnenberg@apple.com>
3304
3305         Worker tear-down can re-enter JSC during GC finalization
3306         https://bugs.webkit.org/show_bug.cgi?id=88449
3307
3308         Reviewed by Geoffrey Garen.
3309
3310         No new tests. 
3311
3312         This is the first of two patches to fix this issue with Workers.
3313
3314         * workers/AbstractWorker.cpp:
3315         (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it 
3316         will be called elsewhere in contextDestroyed().
3317
3318 2012-06-07  Jer Noble  <jer.noble@apple.com>
3319
3320         sometimes all slaved videos don't start playing
3321         https://bugs.webkit.org/show_bug.cgi?id=88553
3322
3323         Reviewed by Darin Adler.
3324
3325         Test: media/media-controller-time-clamp.html
3326
3327         Some PlatformClock classes will occasionally return times < 0 and will
3328         always return times slightly > duration() when playback has ended.  Clamp
3329         the value of currentTime() to the specified [0..duration] range.
3330
3331         * html/MediaController.cpp:
3332         (MediaController::currentTime):
3333
3334 2012-06-07  Simon Fraser  <simon.fraser@apple.com>
3335
3336         Optimize FrameView::scrollXForFixedPosition() / scrollYForFixedPosition()
3337         https://bugs.webkit.org/show_bug.cgi?id=88475
3338
3339         Reviewed by Sam Weinig.
3340         
3341         FrameView's scrollXForFixedPosition() and scrollYForFixedPosition()
3342         methods were often called together, but they do duplicate work,
3343         including calling into platform widget code which might be slow.
3344         
3345         Fix by converting scrollOffsetForFixedPosition() from being a wrapper
3346         that just calls scrollXForFixedPosition() and scrollYForFixedPosition()
3347         to the method that does all the work, calling just once into platform
3348         widget code.
3349         
3350         Changed callers to use scrollOffsetForFixedPosition() rather than make
3351         two separate method calls.
3352         
3353         Added ScrollView::layoutSize() and visibleSize() methods for
3354         convenience.
3355         
3356         Removed FrameView::scrollXForFixedPosition and FrameView::scrollYForFixedPosition
3357         to avoid inefficient callers in future.
3358
3359         No new tests; refactoring only.
3360
3361         * page/FrameView.cpp:
3362         (WebCore::fixedPositionScrollOffset):
3363         (WebCore::FrameView::scrollOffsetForFixedPosition):
3364         * page/FrameView.h: Removed scrollXForFixedPosition and scrollYForFixedPosition.
3365         * platform/ScrollView.cpp:
3366         (WebCore::ScrollView::layoutSize):
3367         * platform/ScrollView.h:
3368         (WebCore::ScrollView::visibleSize):
3369         * rendering/RenderLayer.cpp:
3370         (WebCore::RenderLayer::backgroundClipRect):
3371         * rendering/RenderLayer.h:
3372         (WebCore::ClipRect::move):
3373         * rendering/RenderLayerCompositor.cpp:
3374         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
3375         * rendering/RenderView.cpp:
3376         (WebCore::RenderView::computeRectForRepaint):
3377
3378 2012-06-07  Raymes Khoury  <raymes@chromium.org>
3379
3380         Incorrect rect-based hit-test result for culled-inline elements
3381         https://bugs.webkit.org/show_bug.cgi?id=85849
3382
3383         Reviewed by Levi Weintraub.
3384
3385         Modified code which blindly adds culled inlines to rect-based hit-test
3386         results so that it only does so if the child node does not fully cover
3387         the hit-test region.
3388
3389         Test: fast/dom/nodesFromRect-culled-inline.html
3390
3391         * rendering/HitTestResult.cpp:
3392         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
3393
3394 2012-06-07  Daniel Erat  <derat@chromium.org>
3395
3396         Make Skia backend honor requests for subpixel-positioned text.
3397         https://bugs.webkit.org/show_bug.cgi?id=88263
3398
3399         Reviewed by Tony Chang.
3400
3401         Add subpixel positioning field to FontRenderStyle and rename
3402         subpixel rendering field.
3403
3404         Pass setting to SkPaint in FontPlatformDataHarfBuzz and remove
3405         round() call when computing glyph widths in SimpleFontDataSkia.
3406
3407         Test: platform/chromium-linux/fast/text/chromium-linux-text-subpixel-positioning.html
3408
3409         * platform/graphics/blackberry/skia/PlatformSupport.cpp:
3410         (WebCore::setFontRenderStyleDefaults):
3411         (WebCore::PlatformSupport::getRenderStyleForStrike):
3412         * platform/graphics/chromium/FontRenderStyle.h:
3413         (WebCore::FontRenderStyle::FontRenderStyle):
3414         (WebCore::FontRenderStyle::operator==):
3415         (FontRenderStyle):
3416         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
3417         (WebCore):
3418         (WebCore::FontPlatformData::setSubpixelRendering):
3419         (WebCore::FontPlatformData::setSubpixelPositioning):
3420         (WebCore::FontPlatformData::setupPaint):
3421         (WebCore::FontPlatformData::querySystemForRenderStyle):
3422         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
3423         (FontPlatformData):
3424         * platform/graphics/skia/SimpleFontDataSkia.cpp:
3425         (WebCore::SimpleFontData::platformWidthForGlyph):
3426
3427 2012-06-06  Dana Jansens  <danakj@chromium.org>
3428
3429         [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called
3430         https://bugs.webkit.org/show_bug.cgi?id=88469
3431
3432         Reviewed by James Robinson.
3433
3434         Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer
3435
3436         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3437         (WebCore::shouldDrawLayer):
3438         (WebCore):
3439         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3440         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
3441
3442 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
3443
3444         Web Inspector: sorting of object fields is broken in heap profiler
3445         https://bugs.webkit.org/show_bug.cgi?id=88532
3446
3447         A recent change to heap profiler has replaced getters with functions.
3448         Function calls were missing in couple places after that change.
3449
3450         Reviewed by Vsevolod Vlasov.
3451
3452         Tests: inspector/profiler/heap-snapshot-summary-sorting-fields.html
3453                inspector/profiler/heap-snapshot-summary-sorting-instances.html
3454
3455         * inspector/front-end/HeapSnapshot.js:
3456         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
3457
3458 2012-06-07  Alexander Pavlov  <apavlov@chromium.org>
3459
3460         Web Inspector: Consider Ctrl+Shift+key as valid zoom change combinations
3461         https://bugs.webkit.org/show_bug.cgi?id=88520
3462
3463         Reviewed by Vsevolod Vlasov.
3464
3465         * inspector/front-end/inspector.js:
3466         (WebInspector.documentKeyDown):
3467
3468 2012-06-07  Arvid Nilsson  <anilsson@rim.com>
3469
3470         [BlackBerry] Allow WebPageCompositor to blend a transparent web page
3471         https://bugs.webkit.org/show_bug.cgi?id=88233
3472
3473         Reviewed by Rob Buis.
3474
3475         RIM PR #159998
3476
3477         Add a parameter to LayerRenderer::compositeBuffer() indicating whether
3478         the buffer contents are opaque, and set the GL blend mode accordingly.
3479
3480         This is not currently testable using BlackBerry testing infrastructure.
3481
3482         Reviewed internally by Jakob Petsovits.
3483
3484         * platform/graphics/blackberry/LayerRenderer.cpp:
3485         (WebCore::LayerRenderer::compositeBuffer):
3486         * platform/graphics/blackberry/LayerRenderer.h:
3487         (LayerRenderer):
3488
3489 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
3490
3491         Web Inspector: reuse edge_count field of heap snapshot to store retained size
3492         https://bugs.webkit.org/show_bug.cgi?id=88416
3493
3494         The edge_count field is unused after node first edge indexes have been built.
3495         Store node retained size in there instead of allocating an extra array for it.
3496
3497         Reviewed by Vsevolod Vlasov.
3498
3499         * inspector/front-end/HeapSnapshot.js:
3500         (WebInspector.HeapSnapshotNode.prototype.retainedSize):
3501         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
3502
3503 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3504
3505         Unreviewed, rolling out r119694.
3506         http://trac.webkit.org/changeset/119694
3507         https://bugs.webkit.org/show_bug.cgi?id=88529
3508
3509         it broke PrerenderBrowserTest.PrerenderHTML5VideoNetwork
3510         (Requested by loislo on #webkit).
3511
3512         * html/HTMLMediaElement.cpp:
3513         * html/HTMLMediaElement.h:
3514         (HTMLMediaElement):
3515         * html/canvas/CanvasRenderingContext.cpp:
3516         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
3517         * platform/graphics/MediaPlayer.cpp:
3518         * platform/graphics/MediaPlayer.h:
3519         (MediaPlayer):
3520         * platform/graphics/MediaPlayerPrivate.h:
3521
3522 2012-06-07  Shinya Kawanaka  <shinyak@chromium.org>
3523
3524         Delete a contenteditable element having a Shadow DOM causes a crash.
3525         https://bugs.webkit.org/show_bug.cgi?id=86345
3526
3527         Reviewed by Ryosuke Niwa.
3528
3529         In VisibleSelection::validate(), m_start.downstream() or m_end.upstream() might cross
3530         editing boundaries. So we adjust selection after calling them again.
3531
3532         Test: editing/shadow/select-contenteditable-shadowhost.html
3533
3534         * editing/VisibleSelection.cpp:
3535         (WebCore::VisibleSelection::validate):
3536
3537 2012-06-07  Vivek Galatage  <vivekgalatage@gmail.com>
3538
3539         No new line at the end for SVGCSSPropertyNames.in causes compilation warning
3540         https://bugs.webkit.org/show_bug.cgi?id=88503
3541
3542         Reviewed by Ryosuke Niwa.
3543
3544         Added new line at the end of the file.
3545
3546         No new tests required.