[V8] Pass Isolate to GetNamedProperty()
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2
3         [V8] Pass Isolate to GetNamedProperty()
4         https://bugs.webkit.org/show_bug.cgi?id=84277
5
6         Reviewed by Nate Chapin.
7
8         The objective is to pass Isolate around in V8 bindings.
9         This patch passes Isolate to GetNamedProperty().
10
11         (GenerateHeader):
12         * bindings/v8/V8DOMWindowShell.cpp:
13         (WebCore::getter):
14         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
15         (WebCore::V8HTMLDocument::GetNamedProperty):
16         (WebCore::V8HTMLDocument::allAccessorGetter):
17
18 2012-04-23  Michael Nordman  <michaeln@google.com>
19
20         [chromium] DomStorage event handling mods.
21         https://bugs.webkit.org/show_bug.cgi?id=84387
22
23         Add a few simple inline getters to allow the source Document of a storage
24         event to be identified given a pointer to the source StorageArea so those
25         Documents can be excluded by the event dispatching logic.
26
27         Reviewed by Dimitri Glazkov.
28
29         No new tests. No new functionality or change in behavior.
30
31         * page/DOMWindow.h:
32         (WebCore::DOMWindow::optionalSessionStorage): simple inline getter to avoid construction where possible
33         (WebCore::DOMWindow::optionalLocalStorage): ditto
34         * storage/Storage.h:
35         (WebCore::Storage::area): simple inline getter
36
37 2012-04-23  Kenneth Russell  <kbr@google.com>
38
39         Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
40         https://bugs.webkit.org/show_bug.cgi?id=73011
41
42         Reviewed by Oliver Hunt.
43
44         Changed ImageData to contain Uint8ClampedArray instead of ByteArray
45         per current HTML5 spec.
46
47         In order to avoid introducing large data copies, it was necessary to
48         switch a few other places in WebKit to use Uint8ClampedArray at the
49         same time, most notably the FilterEffect implementation, portions of
50         ImageBuffer, and a couple of places in the image encoders.
51
52         Note that the change in method name from "get" to "item" occurred
53         because JSC's autogenerated indexed getters reference a method
54         called "item". If desired, a convenience method could be
55         introduced to avoid the renamings in the FilterEffect classes.
56
57         With these changes, ByteArray and some custom code in JavaScriptCore
58         actually become unreferenced, and can be deleted. This deletion will
59         be done separately in Bug 83655, to keep the size of this patch
60         manageable.
61
62         Test: fast/canvas/imagedata-contains-uint8clampedarray.html
63
64         * bindings/js/JSImageDataCustom.cpp:
65         (WebCore::toJS):
66         * bindings/js/SerializedScriptValue.cpp:
67         (WebCore::CloneSerializer::dumpIfTerminal):
68         (WebCore::CloneDeserializer::readTerminal):
69         * bindings/v8/SerializedScriptValue.cpp:
70         * bindings/v8/custom/V8ImageDataCustom.cpp:
71         (WebCore::toV8):
72         * bridge/qt/qt_pixmapruntime.cpp:
73         (JSC::Bindings::QtPixmapToImageDataMethod::invoke):
74         * html/ImageData.cpp:
75         (WebCore::ImageData::create):
76         (WebCore::ImageData::ImageData):
77         * html/ImageData.h:
78         (ImageData):
79         (WebCore::ImageData::data):
80         * html/ImageData.idl:
81         * html/canvas/CanvasRenderingContext2D.cpp:
82         (WebCore::createEmptyImageData):
83         (WebCore::CanvasRenderingContext2D::getImageData):
84         (WebCore::CanvasRenderingContext2D::putImageData):
85         * platform/graphics/GraphicsContext3D.cpp:
86         (WebCore::GraphicsContext3D::extractImageData):
87         * platform/graphics/ImageBuffer.cpp:
88         (WebCore::ImageBuffer::genericConvertToLuminanceMask):
89         * platform/graphics/ImageBuffer.h:
90         * platform/graphics/ShadowBlur.cpp:
91         (WebCore::ShadowBlur::blurShadowBuffer):
92         * platform/graphics/cairo/ImageBufferCairo.cpp:
93         (WebCore::getImageData):
94         (WebCore::ImageBuffer::getUnmultipliedImageData):
95         (WebCore::ImageBuffer::getPremultipliedImageData):
96         (WebCore::ImageBuffer::putByteArray):
97         * platform/graphics/cg/ImageBufferCG.cpp:
98         (WebCore::ImageBuffer::getUnmultipliedImageData):
99         (WebCore::ImageBuffer::getPremultipliedImageData):
100         (WebCore::ImageBuffer::putByteArray):
101         (WebCore::ImageBuffer::toDataURL):
102         (WebCore::ImageDataToDataURL):
103         * platform/graphics/cg/ImageBufferDataCG.cpp:
104         (WebCore::ImageBufferData::getData):
105         (WebCore::ImageBufferData::putData):
106         * platform/graphics/cg/ImageBufferDataCG.h:
107         (ImageBufferData):
108         * platform/graphics/filters/FEBlend.cpp:
109         (WebCore::FEBlend::platformApplySoftware):
110         * platform/graphics/filters/FEColorMatrix.cpp:
111         (WebCore::effectType):
112         (WebCore::FEColorMatrix::platformApplySoftware):
113         * platform/graphics/filters/FEComponentTransfer.cpp:
114         (WebCore::FEComponentTransfer::platformApplySoftware):
115         * platform/graphics/filters/FEComposite.cpp:
116         (WebCore::FEComposite::platformArithmeticSoftware):
117         (WebCore::FEComposite::platformApplySoftware):
118         * platform/graphics/filters/FEComposite.h:
119         * platform/graphics/filters/FEConvolveMatrix.cpp:
120         (WebCore::setDestinationPixels):
121         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
122         (WebCore::FEConvolveMatrix::fastSetOuterPixels):
123         (WebCore::FEConvolveMatrix::platformApplySoftware):
124         * platform/graphics/filters/FEConvolveMatrix.h:
125         (PaintingData):
126         * platform/graphics/filters/FECustomFilter.cpp:
127         (WebCore::FECustomFilter::platformApplySoftware):
128         (WebCore::FECustomFilter::bindProgramAndBuffers):
129         * platform/graphics/filters/FECustomFilter.h:
130         (JSC):
131         (FECustomFilter):
132         * platform/graphics/filters/FEDisplacementMap.cpp:
133         (WebCore::FEDisplacementMap::platformApplySoftware):
134         * platform/graphics/filters/FEDropShadow.cpp:
135         (WebCore::FEDropShadow::platformApplySoftware):
136         * platform/graphics/filters/FEGaussianBlur.cpp:
137         (WebCore::boxBlur):
138         (WebCore::FEGaussianBlur::platformApplyGeneric):
139         (WebCore::FEGaussianBlur::platformApply):
140         (WebCore::FEGaussianBlur::platformApplySoftware):
141         * platform/graphics/filters/FEGaussianBlur.h:
142         (PlatformApplyParameters):
143         (FEGaussianBlur):
144         * platform/graphics/filters/FELighting.cpp:
145         (WebCore::FELighting::LightingData::topLeft):
146         (WebCore::FELighting::LightingData::topRow):
147         (WebCore::FELighting::LightingData::topRight):
148         (WebCore::FELighting::LightingData::leftColumn):
149         (WebCore::FELighting::LightingData::interior):
150         (WebCore::FELighting::LightingData::rightColumn):
151         (WebCore::FELighting::LightingData::bottomLeft):
152         (WebCore::FELighting::LightingData::bottomRow):
153         (WebCore::FELighting::LightingData::bottomRight):
154         (WebCore::FELighting::inlineSetPixel):
155         (WebCore::FELighting::drawLighting):
156         (WebCore::FELighting::platformApplySoftware):
157         * platform/graphics/filters/FELighting.h:
158         (LightingData):
159         (FELighting):
160         * platform/graphics/filters/FEMorphology.cpp:
161         (WebCore::FEMorphology::platformApplyGeneric):
162         (WebCore::FEMorphology::platformApplySoftware):
163         * platform/graphics/filters/FEMorphology.h:
164         (PaintingData):
165         * platform/graphics/filters/FETurbulence.cpp:
166         (WebCore::FETurbulence::fillRegion):
167         (WebCore::FETurbulence::platformApplySoftware):
168         * platform/graphics/filters/FETurbulence.h:
169         (FillRegionParameters):
170         (FETurbulence):
171         * platform/graphics/filters/FilterEffect.cpp:
172         (WebCore::FilterEffect::forceValidPreMultipliedPixels):
173         (WebCore::FilterEffect::asUnmultipliedImage):
174         (WebCore::FilterEffect::asPremultipliedImage):
175         (WebCore::FilterEffect::copyImageBytes):
176         (WebCore::FilterEffect::copyUnmultipliedImage):
177         (WebCore::FilterEffect::copyPremultipliedImage):
178         (WebCore::FilterEffect::createUnmultipliedImageResult):
179         (WebCore::FilterEffect::createPremultipliedImageResult):
180         * platform/graphics/filters/FilterEffect.h:
181         (FilterEffect):
182         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
183         (WebCore::FEGaussianBlur::platformApplyNeon):
184         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
185         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
186         * platform/graphics/qt/ImageBufferQt.cpp:
187         (WebCore::getImageData):
188         (WebCore::ImageBuffer::getUnmultipliedImageData):
189         (WebCore::ImageBuffer::getPremultipliedImageData):
190         (WebCore::ImageBuffer::putByteArray):
191         * platform/graphics/skia/ImageBufferSkia.cpp:
192         (WebCore::getImageData):
193         (WebCore::ImageBuffer::getUnmultipliedImageData):
194         (WebCore::ImageBuffer::getPremultipliedImageData):
195         (WebCore::ImageBuffer::putByteArray):
196         * platform/graphics/texmap/TextureMapperGL.cpp:
197         * platform/graphics/wince/ImageBufferWinCE.cpp:
198         (WebCore::getImageData):
199         (WebCore::ImageBuffer::getUnmultipliedImageData):
200         (WebCore::ImageBuffer::getPremultipliedImageData):
201         (WebCore::ImageBuffer::putByteArray):
202         * platform/graphics/wx/ImageBufferWx.cpp:
203         (WebCore::ImageBuffer::getUnmultipliedImageData):
204         (WebCore::ImageBuffer::getPremultipliedImageData):
205         (WebCore::ImageBuffer::putByteArray):
206         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
207         (WebCore::JPEGImageEncoder::encode):
208         * platform/image-encoders/skia/PNGImageEncoder.cpp:
209         (WebCore::PNGImageEncoder::encode):
210         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
211         (WebCore::WEBPImageEncoder::encode):
212
213 2012-04-23  Ryan Sleevi  <rsleevi@chromium.org>
214
215         [chromium] Remove deleted files from WebCore.gypi and fix typo
216         https://bugs.webkit.org/show_bug.cgi?id=84651
217
218         Reviewed by Ryosuke Niwa.
219
220         No new tests. No behavior change.
221
222         * WebCore.gypi:
223         Remove references to PlatformMouseEventQt.cpp and WheelEventQt.cpp. Add a missing comma.
224
225 2012-04-23  Erik Arvidsson  <arv@chromium.org>
226
227         [V8] Fix issue with trying to access a constructor in a frame that has been removed
228         https://bugs.webkit.org/show_bug.cgi?id=84640
229
230         Reviewed by Kentaro Hara.
231
232         This regressed in r113250. Now we do what we did before and return undefined if the frame
233         does not have a context.
234
235         Test: fast/dom/constructor-in-removed-frame.html
236
237         * bindings/v8/V8DOMWrapper.cpp:
238         (WebCore::V8DOMWrapper::constructorForType):
239
240 2012-04-23  Chris Rogers  <crogers@google.com>
241
242         Oscillator::setWaveTable() should not reset oscillator phase
243         https://bugs.webkit.org/show_bug.cgi?id=84647
244         
245         Reviewed by Kenneth Russell.
246
247         * Modules/webaudio/Oscillator.cpp:
248         (WebCore::Oscillator::setWaveTable):
249
250 2012-04-23  Kentaro Hara  <haraken@chromium.org>
251
252         [V8][Refactoring] Remove V8Proxy::throwSyntaxError()
253         https://bugs.webkit.org/show_bug.cgi?id=84627
254
255         Reviewed by Nate Chapin.
256
257         This patch removes V8Proxy::throwSyntaxError()
258         since it is no longer used.
259
260         No tests. No change in behavior.
261
262         * bindings/v8/V8Proxy.cpp:
263         * bindings/v8/V8Proxy.h:
264         (V8Proxy):
265
266 2012-04-18  James Robinson  <jamesr@chromium.org>
267
268         [chromium] Use TextureLayerChromium for WebGL content instead of a dedicated layer type
269         https://bugs.webkit.org/show_bug.cgi?id=84311
270
271         Reviewed by Adrienne Walker.
272
273         WebGL content's interface with the compositor can be expressed in terms of two basic operations:
274         1.) Do some stuff
275         2.) Provide a texture ID for the compositor to use
276
277         This implements (1) in DrawingBufferChromium and uses the already-existing TextureLayerChromium to handle (2).
278         This cuts down the compositor interface significantly and allows for more code reuse in exchange for more code
279         in TextureLayerChromium to handle the features WebGL needs.
280
281         * WebCore.gypi:
282         * platform/graphics/chromium/DrawingBufferChromium.cpp:
283         (WebCore::DrawingBuffer::~DrawingBuffer):
284         (DrawingBufferPrivate):
285         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
286         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
287         (WebCore::DrawingBufferPrivate::layer):
288         (WebCore):
289         (WebCore::DrawingBuffer::platformLayer):
290         * platform/graphics/chromium/LayerRendererChromium.cpp:
291         * platform/graphics/chromium/TextureLayerChromium.h:
292         (TextureLayerChromiumClient):
293         (WebCore::TextureLayerChromiumClient::~TextureLayerChromiumClient):
294         (WebCore):
295         (TextureLayerChromium):
296         (WebCore::TextureLayerChromium::clearClient):
297         * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
298         * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
299         * platform/graphics/gpu/DrawingBuffer.h:
300         (WebCore):
301         (WebCore::DrawingBuffer::graphicsContext3D):
302         (DrawingBuffer):
303
304 2012-04-23  Alec Flett  <alecflett@chromium.org>
305
306         IndexedDB: remove IDB(Index|ObjectStore)BackendImpl::get/getKey for IDBKey
307         https://bugs.webkit.org/show_bug.cgi?id=84285
308
309         Reviewed by Dimitri Glazkov.
310
311         No new tests required, this code is no longer called.
312
313         This is old code supporting IDBKey-based lookup, supplanted by
314         IDBKeyRange. Now that chromium IPC/proxy code has landed,
315         these functions can be removed.
316
317         * Modules/indexeddb/IDBIndexBackendInterface.h:
318         (IDBIndexBackendInterface):
319         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
320         (IDBObjectStoreBackendInterface):
321
322 2012-04-22  Martin Robinson  <mrobinson@igalia.com>
323
324         REGRESSION(113604): [Soup] Some pages that use synchronous XMLHttpRequests freeze the browser
325         https://bugs.webkit.org/show_bug.cgi?id=84560
326
327         Reviewed by Xan Lopez.
328
329         When kicking off a synchronous XMLHttpRequest, add one to the connection
330         limit. This ensures that when a page starts a synchronous request, while
331         already at the connection limit the request will not deadlock.
332
333         * platform/network/soup/ResourceHandleSoup.cpp:
334         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Accept a new SoupSession
335         argument so that we can get the correct SoupSession for the networking context. Bump
336         the connection limit.
337         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Decrement the connection limit.
338         (WebCore::WebCoreSynchronousLoader::adjustMaxConnections): Added this helper.
339         (WebCoreSynchronousLoader): Added a new SoupSession member.
340         (WebCore::sessionFromContext): Added this helper.
341         (WebCore::ResourceHandleInternal::soupSession): Use the new sessionFromContext helper.
342         (WebCore::ResourceHandle::loadResourceSynchronously): Pass the SoupSession from the NetworkingContext
343         to the synchronous loader.
344
345 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
346
347         Unreviewed, rolling out r114965.
348         http://trac.webkit.org/changeset/114965
349         https://bugs.webkit.org/show_bug.cgi?id=84665
350
351         Four new resource load delegate test failures (Requested by
352         jernoble on #webkit).
353
354         * loader/SubresourceLoader.cpp:
355         (WebCore::SubresourceLoader::didFinishLoading):
356         (WebCore::SubresourceLoader::didFail):
357         (WebCore::SubresourceLoader::willCancel):
358         (WebCore::SubresourceLoader::releaseResources):
359
360 2012-04-23  Beth Dakin  <bdakin@apple.com>
361
362         https://bugs.webkit.org/show_bug.cgi?id=84649
363         RenderMathMLOperator currently ignores font families, fails 
364         to use Stix
365
366         Reviewed by Dan Bernstein.
367
368         This patch makes RenderMathMLOperator honor the font-family 
369         list. This means that by default, Stix glyphs will now be 
370         used for operators just like for other MathML content. 
371         Unfortunately, just doing that resulted in a bug because of 
372         the fragile hardcoded glyph sizes. The Stix vertical bar 
373         glyph is much smaller than the code assumed any glyphs would 
374         be. That code should be re-written, but in the meantime, I 
375         put a fix in place to try to make it work for small glyphs.
376
377         These new functions should be used instead of accessing
378         gGlyphHeight or gGlyphLineHeight directly. If the glyph is
379         smaller than the expected hardcoded value, then the actual
380         glyph height is used, and a new line height based on the
381         glyph height is used.
382         (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
383         (WebCore::RenderMathMLOperator::lineHeightForCharacter):
384
385         Use the style's FontDescription to honor the font family
386         list and the style's FontSelector to honor @font-face.
387         Also use glyphHeightForCharacter() instead of gGlyphHeight. 
388         And now that createGlyph() takes a lineHeight, use 
389         lineHeightForCharacter() to determine the right value. 
390         (WebCore::RenderMathMLOperator::updateFromElement):
391
392         size was an ambiguous variable name, so I renamed it to the 
393         more accurate maxHeightForRenderer. This function also now
394         takes a lineHeight instead of using gGlyphLineHeight. And
395         again, use the style's FontDescription and FontSelector.
396         (WebCore::RenderMathMLOperator::createStackableStyle):
397
398         Re-name size to maxHeightForRenderer, and take lineHeight as 
399         a parameter.
400         (WebCore::RenderMathMLOperator::createGlyph):
401         * rendering/mathml/RenderMathMLOperator.h:
402         (RenderMathMLOperator):
403
404 2012-04-23  Eriq Augustine  <eaugusti@chromium.org>
405
406         Return value from executed script in Chromium.
407         https://bugs.webkit.org/show_bug.cgi?id=79851
408
409         Reviewed by Adam Barth.
410
411         Providing a varaiant of evaluateScriptInIsolatedWorld that
412         returns the value of the evaluated script.
413
414         Test: platform/chromium/http/tests/misc/execute-and-return-value.html
415
416         * bindings/v8/ScriptController.cpp:
417         (WebCore::ScriptController::evaluateInIsolatedWorld):
418         * bindings/v8/ScriptController.h:
419         (ScriptController):
420         * bindings/v8/V8Proxy.cpp:
421         (WebCore::V8Proxy::evaluateInIsolatedWorld):
422         * bindings/v8/V8Proxy.h:
423         (V8Proxy):
424
425 2012-04-23  Kent Tamura  <tkent@chromium.org>
426
427         RenderDetailsMarker should draw the triangle inside the content box
428         https://bugs.webkit.org/show_bug.cgi?id=84557
429
430         Reviewed by Hajime Morita.
431
432         RenderDetailsMarker didn't support cases in which a marker has
433         borders and/or padings, or non-square size.
434
435         Test: fast/html/details-marker-style.html
436
437         * rendering/RenderDetailsMarker.cpp:
438         (WebCore::RenderDetailsMarker::getPath):
439         Scale by contentWidth() and contentHeight().
440         (WebCore::RenderDetailsMarker::paint):
441         Move the trianle origin by the ammount of left/top borders and paddings.
442
443 2012-04-23  Kentaro Hara  <haraken@chromium.org>
444
445         [V8] Pass Isolate to toV8() (Part6)
446         https://bugs.webkit.org/show_bug.cgi?id=84273
447
448         Reviewed by Nate Chapin.
449
450         The objective is to pass Isolate to all toV8()s.
451         Since there are a lot of toV8()s, I'll make the change
452         step by step. This patch passes Isolate to toV8() in
453         several custom bindings.
454
455         No tests. No change in behavior.
456
457         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
458         (WebCore::getNamedItems):
459         (WebCore::getItem):
460         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
461         (WebCore::V8HTMLAllCollection::itemCallback):
462         (WebCore::V8HTMLAllCollection::namedItemCallback):
463         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
464         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
465         (WebCore::getNamedItems):
466         (WebCore::V8HTMLCollection::namedPropertyGetter):
467         (WebCore::V8HTMLCollection::namedItemCallback):
468         (WebCore::toV8):
469         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
470         (WebCore::toV8):
471         * bindings/v8/custom/V8StyleSheetCustom.cpp:
472         (WebCore::toV8):
473         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
474         (WebCore::V8StyleSheetList::namedPropertyGetter):
475         * bindings/v8/custom/V8TrackEventCustom.cpp:
476         (WebCore::V8TrackEvent::trackAccessorGetter):
477         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
478         (WebCore::toV8Object):
479         (WebCore::getObjectParameter):
480         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
481         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
482         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
483         (WebCore::V8WebGLRenderingContext::getParameterCallback):
484         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
485         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
486         (WebCore::V8WebGLRenderingContext::getUniformCallback):
487         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
488         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
489         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
490         (WebCore::V8XSLTProcessor::transformToFragmentCallback):
491         (WebCore::V8XSLTProcessor::transformToDocumentCallback):
492
493 2012-04-23  Kent Tamura  <tkent@chromium.org>
494
495         Move the content of LocalizedCalendarICU.cpp and LocalizedDateICU.cpp to ICULocale.cpp.
496         https://bugs.webkit.org/show_bug.cgi?id=84568
497
498         Reviewed by Hajime Morita.
499
500         Move it to ICULocal.cpp because we want to share UDateFormat
501         object in LocalizedDate functions and LocalizedCalendar functions,
502         and it becomes easier to cache the UDateFormat object, and making
503         unit tests for these functions easier.
504
505         No new tests because of no bahevior changes.
506
507         * platform/text/ICULocale.cpp:
508         (WebCore::ICULocale::ICULocale): Initialize new members.
509         (WebCore::ICULocale::~ICULocale): Delete m_shortDateFormat.
510         (WebCore::ICULocale::initializeShortDateFormat):
511         Moved from creteShortDateFormatter of LocalizedDateICU.cpp.
512         (WebCore::ICULocale::parseLocalizedDate):
513         Moved from LocalizedDate.cpp, use m_shortDateFormat.
514         (WebCore::ICULocale::formatLocalizedDate): ditto.
515         (WebCore::ICULocale::createLabelVector):
516         Moved from LocalizedCalendarICU.cpp, use m_shortDateFormat.
517         (WebCore::createFallbackMonthLabels): Moved from LocalizedCalendarICU.cpp.
518         (WebCore::createFallbackWeekDayShortLabels): ditto.
519         (WebCore::ICULocale::initializeCalendar):
520         lazy initialization of m_monthLabels, m_weekDayShortLabels, and m_firstDayOfWeek.
521         (WebCore::ICULocale::monthLabels):
522         (WebCore::ICULocale::weekDayShortLabels):
523         (WebCore::ICULocale::firstDayOfWeek):
524         * platform/text/ICULocale.h:
525         (ICULocale): Add declarations.
526         * platform/text/LocalizedCalendarICU.cpp:
527         (WebCore::monthLabels): Use ICULocale::currentLocale().
528         (WebCore::weekDayShortLabels): ditto.
529         (WebCore::firstDayOfWeek): ditto.
530         * platform/text/LocalizedDateICU.cpp:
531         (WebCore::parseLocalizedDate): ditto.
532         (WebCore::formatLocalizedDate): ditto.
533
534 2012-04-23  Raymond Toy  <rtoy@google.com>
535
536         Move AudioDestinationChromium FIFO class to its own class.
537         https://bugs.webkit.org/show_bug.cgi?id=84058
538
539         Reviewed by Chris Rogers.
540
541         Current tests cover the changes.
542
543         * WebCore.gypi: Update with new files.
544         * platform/audio/AudioPullFIFO.cpp: Copied from Source/WebKit/chromium/src/AudioDestinationChromium.cpp.
545         (WebCore): Renamed old class the AudioPullFIFO.
546         (WebCore::AudioPullFIFO::AudioPullFIFO):
547         (WebCore::AudioPullFIFO::consume):
548         (WebCore::AudioPullFIFO::findWrapLengths):
549         (WebCore::AudioPullFIFO::fillBuffer):
550         * platform/audio/AudioPullFIFO.h: Added.
551         (WebCore):
552         (AudioPullFIFO):
553         (WebCore::AudioPullFIFO::updateIndex):
554
555 2012-04-23  Nate Chapin  <japhet@chromium.org>
556
557         REGRESSION (r100311): YummySoup app crashes when trying to print
558         https://bugs.webkit.org/show_bug.cgi?id=83918
559
560         Reviewed by Alexey Proskuryakov.
561
562         Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html
563
564         * loader/SubresourceLoader.cpp:
565         (WebCore::SubresourceLoader::didFinishLoading):
566         (WebCore::SubresourceLoader::didFail):
567         (WebCore::SubresourceLoader::willCancel): Now that we might enter the function if we're already Finishing,
568             some cleanup needs to be done in the Initialized state only.
569         (WebCore::SubresourceLoader::releaseResources): Move requesting counting decrement and laodDone() to
570             the finishing functions.
571
572 2012-04-23  Shawn Singh  <shawnsingh@chromium.org>
573
574         [chromium] Visualize accelerated compositor rects.
575         https://bugs.webkit.org/show_bug.cgi?id=79400
576
577         Reviewed by Adrienne Walker.
578
579         No tests, all the code added is only debugging code.
580
581         This patch adds support for visualizing three different types of
582         rects on the chromium heads-up display:
583         1. updateRects that indicate what was painted/uploaded to a resource
584         2. propertyChangedRects that indicate layers that has property changes
585         3. surfaceDamageRects that are the accumulation of updateRects and
586            propertyChangedRects, indicating what pixels on the screen have
587            actually changed.  (Surface damage also accounts for newly exposed
588            areas but that is not explicitly visualized.)
589
590         In addition to adding support for visualizing this, the
591         CCHeadsUpDisplay was significantly refactored, separating the FPS
592         Counter functionality into a different class, so that the heads-up
593         display is all about visualizing annotations, and those
594         annotations (frame rate, debug rects) are logged separately.
595
596         * WebCore.gypi:
597         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Added.
598         (WebCore):
599         (WebCore::CCDebugRectHistory::CCDebugRectHistory):
600         (WebCore::CCDebugRectHistory::enabled):
601         (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
602         (WebCore::CCDebugRectHistory::savePaintRects):
603         (WebCore::CCDebugRectHistory::savePropertyChangedRects):
604         (WebCore::CCDebugRectHistory::saveSurfaceDamageRects):
605         * platform/graphics/chromium/cc/CCDebugRectHistory.h: Added.
606         (WebCore):
607         (WebCore::CCDebugRect::CCDebugRect):
608         (CCDebugRect):
609         (CCDebugRectHistory):
610         (WebCore::CCDebugRectHistory::create):
611         (WebCore::CCDebugRectHistory::debugRects):
612         * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Added.
613         (WebCore):
614         (WebCore::safeMod):
615         (WebCore::CCFrameRateCounter::frameIndex):
616         (WebCore::CCFrameRateCounter::CCFrameRateCounter):
617         (WebCore::CCFrameRateCounter::markBeginningOfFrame):
618         (WebCore::CCFrameRateCounter::markEndOfFrame):
619         (WebCore::CCFrameRateCounter::isBadFrameInterval):
620         (WebCore::CCFrameRateCounter::isBadFrame):
621         (WebCore::CCFrameRateCounter::getAverageFPSAndStandardDeviation):
622         (WebCore::CCFrameRateCounter::timeStampOfRecentFrame):
623         * platform/graphics/chromium/cc/CCFrameRateCounter.h: Added.
624         (WebCore):
625         (CCFrameRateCounter):
626         (WebCore::CCFrameRateCounter::create):
627         (WebCore::CCFrameRateCounter::currentFrameNumber):
628         (WebCore::CCFrameRateCounter::timeStampHistorySize):
629         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
630         (WebCore):
631         (WebCore::CCHeadsUpDisplay::enabled):
632         (WebCore::CCHeadsUpDisplay::showDebugRects):
633         (WebCore::CCHeadsUpDisplay::draw):
634         (WebCore::CCHeadsUpDisplay::drawHudContents):
635         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
636         (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
637         (WebCore::CCHeadsUpDisplay::drawDebugRects):
638         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
639         (WebCore):
640         (CCHeadsUpDisplay):
641         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
642         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
643         (WebCore::CCSettings::CCSettings):
644         (CCSettings):
645         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
646         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
647         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
648         (WebCore::CCLayerTreeHostImpl::drawLayers):
649         (WebCore::CCLayerTreeHostImpl::swapBuffers):
650         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
651         (WebCore):
652         (WebCore::CCLayerTreeHostImpl::fpsCounter):
653         (WebCore::CCLayerTreeHostImpl::debugRectHistory):
654         (CCLayerTreeHostImpl):
655
656 2012-04-23  Julien Chaffraix  <jchaffraix@webkit.org>
657
658         Cut dependency on RenderLayer::scrollRectToVisible outside rendering
659         https://bugs.webkit.org/show_bug.cgi?id=84607
660
661         Reviewed by Simon Fraser.
662
663         Layering fix only, there should be no change behavior.
664
665         Because we don't have an accessor on RenderObject, a lot of the code needs
666         to know about RenderLayer. This is not necessary and exposes RenderLayer to
667         objects that shouldn't know about it.
668
669         This patch adds a RenderObject::scrollRectToVisible with the ad-hoc explanation
670         as to why it isn't on RenderBox (scrolling is a RenderBox concept).
671
672         * WebCore.exp.in:
673         * WebCore.order:
674         Updated to expose the new method.
675
676         * dom/Element.cpp:
677         (WebCore::Element::scrollIntoView):
678         (WebCore::Element::scrollIntoViewIfNeeded):
679         (WebCore::Element::updateFocusAppearance):
680         * editing/Editor.cpp:
681         (WebCore::Editor::findStringAndScrollToVisible):
682         * editing/FrameSelection.cpp:
683         (WebCore::FrameSelection::revealSelection):
684         * page/FrameView.cpp:
685         (WebCore::FrameView::scrollToAnchor):
686         Updated those call sites to use the new function.
687
688         * rendering/RenderLayer.h:
689         Removed ScrollBehavior.h #include and default argument values
690         as we are always called through RenderObject now.
691
692         * rendering/RenderObject.cpp:
693         (WebCore::RenderObject::scrollRectToVisible):
694         * rendering/RenderObject.h:
695         Added a new function that just forwards to the enclosing layer
696         if any. We return whether we actually tried to scroll to match
697         some call sites expectations.
698
699 2012-04-23  Zhenyao Mo  <zmo@google.com>
700
701         framebuffer binding should not be changed after canvas resize or compositing
702         https://bugs.webkit.org/show_bug.cgi?id=84609
703
704         Reviewed by Kenneth Russell.
705
706         Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
707
708         * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
709         (WebCore):
710         (WebCore::WebGLRenderingContext::bindFramebuffer):
711         (WebCore::WebGLRenderingContext::deleteFramebuffer):
712         (WebCore::WebGLRenderingContext::loseContextImpl):
713         * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
714         (WebCore::DrawingBuffer::DrawingBuffer):
715         * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
716         (WebCore::DrawingBuffer::DrawingBuffer):
717         * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
718         (WebCore::WebGLLayerChromium::update):
719         * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
720         (WebCore::DrawingBuffer::restoreFramebufferBinding):
721         (WebCore):
722         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
723         (WebCore::DrawingBuffer::setTexture2DBinding):
724         (DrawingBuffer):
725         (WebCore::DrawingBuffer::setFramebufferBinding):
726         * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
727         (WebCore::DrawingBuffer::DrawingBuffer):
728         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
729         (WebCore::DrawingBuffer::DrawingBuffer):
730
731 2012-04-23  Victor Carbune  <vcarbune@adobe.com>
732
733         Simplify volume slider rendering
734         https://bugs.webkit.org/show_bug.cgi?id=82150
735
736         Reviewed by Eric Carlson.
737
738         Test: media/video-controls-rendering-toggle-display-none.html
739
740         * css/mediaControlsChromium.css: Update controls css for Chromium.
741         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
742         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
743         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
744         * css/mediaControlsGtk.css: Update controls css for GTK.
745         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
746         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
747         * css/mediaControlsQuickTime.css: Update controls css for Safari.
748         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
749         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
750         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
751         * html/shadow/MediaControlElements.cpp: Removed particular renderer.
752         (WebCore):
753         * html/shadow/MediaControlElements.h:
754         (MediaControlVolumeSliderContainerElement): Remoed particular renderer.
755         * html/shadow/MediaControlRootElement.cpp:
756         (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra unused mute button.
757         * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div
758         element as a container for the mute button and the volume slider to
759         easily position them relative to each other.
760         (WebCore::MediaControlRootElementChromium::create):
761
762 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
763
764         Unreviewed, rolling out r109981.
765         http://trac.webkit.org/changeset/109981
766         https://bugs.webkit.org/show_bug.cgi?id=84630
767
768         Broke Twitter map buddy icon (see
769         https://bugs.webkit.org/show_bug.cgi?id=84558) (Requested by
770         thorton on #webkit).
771
772         * rendering/RenderLayerCompositor.cpp:
773         (WebCore::RenderLayerCompositor::addToOverlapMap):
774         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
775
776 2012-04-23  Emil A Eklund  <eae@chromium.org>
777
778         Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
779         https://bugs.webkit.org/show_bug.cgi?id=84300
780
781         Reviewed by Simon Fraser.
782
783         No new tests, have not been able to come up with a reliable reduction.
784
785         * rendering/RenderInline.cpp:
786         (WebCore::RenderInline::clippedOverflowRectForRepaint):
787         Add NULL check for containingBlock() as it can return NULL when detached
788         from the tree.
789
790 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
791
792         Unreviewed, rolling out r114929.
793         http://trac.webkit.org/changeset/114929
794         https://bugs.webkit.org/show_bug.cgi?id=84623
795
796         Broke 35 canvas/webgl tests (Requested by jernoble on
797         #webkit).
798
799         * html/canvas/WebGLRenderingContext.cpp:
800         (WebCore):
801         (WebCore::WebGLRenderingContext::bindFramebuffer):
802         (WebCore::WebGLRenderingContext::deleteFramebuffer):
803         (WebCore::WebGLRenderingContext::loseContextImpl):
804         * platform/graphics/cairo/DrawingBufferCairo.cpp:
805         (WebCore::DrawingBuffer::DrawingBuffer):
806         * platform/graphics/chromium/DrawingBufferChromium.cpp:
807         (WebCore::DrawingBuffer::DrawingBuffer):
808         * platform/graphics/chromium/WebGLLayerChromium.cpp:
809         (WebCore::WebGLLayerChromium::update):
810         * platform/graphics/gpu/DrawingBuffer.cpp:
811         * platform/graphics/gpu/DrawingBuffer.h:
812         (WebCore::DrawingBuffer::setTexture2DBinding):
813         (DrawingBuffer):
814         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
815         (WebCore::DrawingBuffer::DrawingBuffer):
816         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
817         (WebCore::DrawingBuffer::DrawingBuffer):
818
819 2012-04-23  Kentaro Hara  <haraken@chromium.org>
820
821         [V8] Pass Isolate around in V8Collection.h
822         https://bugs.webkit.org/show_bug.cgi?id=84299
823
824         Reviewed by Nate Chapin.
825
826         The objective is to pass Isolate around in V8 bindings.
827         This patch passes Isolate around in V8Collection.h.
828
829         No tests. No change in behavior.
830
831         * bindings/v8/V8Collection.h:
832         (WebCore::getV8Object):
833         (WebCore::getNamedPropertyOfCollection):
834         (WebCore::collectionNamedPropertyGetter):
835         (WebCore::getIndexedPropertyOfCollection):
836         (WebCore::collectionIndexedPropertyGetter):
837
838 2012-04-23  Kentaro Hara  <haraken@chromium.org>
839
840         [V8] Pass Isolate to toV8() (Part5)
841         https://bugs.webkit.org/show_bug.cgi?id=84271
842
843         Reviewed by Nate Chapin.
844
845         The objective is to pass Isolate to all toV8()s.
846         Since there are a lot of toV8(), I'll make the change
847         step by step. This patch passes Isolate to toV8()
848         in several custom bindings.
849
850         No tests. No change in behavior.
851
852         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
853         (WebCore::V8MessageChannel::constructorCallback):
854         * bindings/v8/custom/V8MessageEventCustom.cpp:
855         (WebCore::V8MessageEvent::dataAccessorGetter):
856         (WebCore::V8MessageEvent::portsAccessorGetter):
857         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
858         (WebCore::V8MutationCallback::handleEvent):
859         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
860         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
861         (WebCore::V8NamedNodeMap::namedPropertyGetter):
862         (WebCore::toV8):
863         * bindings/v8/custom/V8NodeListCustom.cpp:
864         (WebCore::V8NodeList::namedPropertyGetter):
865         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
866         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
867         (WebCore::V8NotificationCenter::createNotificationCallback):
868         * bindings/v8/custom/V8PerformanceCustom.cpp:
869         (WebCore::V8Performance::memoryAccessorGetter):
870         * bindings/v8/custom/V8PopStateEventCustom.cpp:
871         (WebCore::V8PopStateEvent::stateAccessorGetter):
872         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
873         (WebCore::V8SQLTransactionSync::executeSqlCallback):
874         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
875         (WebCore::toV8):
876
877 2012-04-23  Zhenyao Mo  <zmo@google.com>
878
879         framebuffer binding should not be changed after canvas resize or compositing
880         https://bugs.webkit.org/show_bug.cgi?id=84609
881
882         Reviewed by Kenneth Russell.
883
884         Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
885
886         * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
887         (WebCore):
888         (WebCore::WebGLRenderingContext::bindFramebuffer):
889         (WebCore::WebGLRenderingContext::deleteFramebuffer):
890         (WebCore::WebGLRenderingContext::loseContextImpl):
891         * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
892         (WebCore::DrawingBuffer::DrawingBuffer):
893         * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
894         (WebCore::DrawingBuffer::DrawingBuffer):
895         * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
896         (WebCore::WebGLLayerChromium::update):
897         * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
898         (WebCore::DrawingBuffer::restoreFramebufferBinding):
899         (WebCore):
900         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
901         (WebCore::DrawingBuffer::setTexture2DBinding):
902         (DrawingBuffer):
903         (WebCore::DrawingBuffer::setFramebufferBinding):
904         * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
905         (WebCore::DrawingBuffer::DrawingBuffer):
906         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
907         (WebCore::DrawingBuffer::DrawingBuffer):
908
909 2012-04-23  Kentaro Hara  <haraken@chromium.org>
910
911         [V8] Pass Isolate to toV8() (Part4)
912         https://bugs.webkit.org/show_bug.cgi?id=84269
913
914         Reviewed by Nate Chapin.
915
916         The objective is to pass Isolate to all toV8()s.
917         Since there are a lot of toV8()s, I'll make the change
918         step by step. This patch passes Isolate to toV8() in
919         several custom bindings.
920
921         No tests. No change in behavior.
922
923         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
924         (WebCore::V8HTMLCanvasElement::getContextCallback):
925         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
926         (WebCore::toV8):
927         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
928         (WebCore::V8HTMLDocument::allAccessorGetter):
929         * bindings/v8/custom/V8HTMLElementCustom.cpp:
930         (WebCore::toV8Object):
931         (WebCore::V8HTMLElement::itemValueAccessorGetter):
932         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
933         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
934         (WebCore::V8HTMLFormElement::namedPropertyGetter):
935         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
936         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
937         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
938         (WebCore::v8HTMLImageElementConstructorCallback):
939         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
940         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
941         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
942         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
943         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
944         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
945         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
946         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
947         * bindings/v8/custom/V8ImageDataCustom.cpp:
948         (WebCore::toV8):
949
950 2012-04-23  Emil A Eklund  <eae@chromium.org>
951
952         Clean up subpixel unit handling in hit testing code
953         https://bugs.webkit.org/show_bug.cgi?id=84496
954
955         Reviewed by Eric Seidel.
956
957         Fix use of IntRect and LayoutRect in hit testing code in preparation for
958         subpixel layout.
959
960         No new tests, no change in functionality.
961
962         * rendering/HitTestResult.cpp:
963         (WebCore::HitTestResult::rectForPoint):
964         Revert rectForPoint to IntRect as all call sites converted it to an
965         IntRect anyway to compare it with an IntPoint or another IntRect.
966
967         * rendering/HitTestingTransformState.cpp:
968         (WebCore::HitTestingTransformState::boundsOfMappedQuad):
969         * rendering/HitTestingTransformState.h:
970         Convert boundsOfMappedQuad to LayoutRect as the TransformationMatrix now
971         has subpixel precision.
972
973 2012-04-23  Kentaro Hara  <haraken@chromium.org>
974
975         [V8] Pass Isolate to toV8() (Part3)
976         https://bugs.webkit.org/show_bug.cgi?id=84261
977
978         Reviewed by Nate Chapin.
979
980         The objective is to pass Isolate to all toV8()s.
981         Since there are a lot of toV8(), I'll make the change
982         step by step. This patch passes Isolate to toV8()
983         in several custom bindings.
984
985         No tests. No change in behavior.
986
987         * bindings/v8/custom/V8DOMWindowCustom.cpp:
988         (WebCore::V8DOMWindow::openCallback):
989         (WebCore::V8DOMWindow::indexedPropertyGetter):
990         (WebCore::V8DOMWindow::namedPropertyGetter):
991         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
992         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
993         (WebCore::V8DirectoryEntrySync::getFileCallback):
994         * bindings/v8/custom/V8DocumentCustom.cpp:
995         (WebCore::V8Document::evaluateCallback):
996         (WebCore::V8Document::getCSSCanvasContextCallback):
997         (WebCore::V8Document::createTouchListCallback):
998         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
999         (WebCore::V8Document::locationAccessorGetter):
1000         * bindings/v8/custom/V8EntryCustom.cpp:
1001         (WebCore::toV8):
1002         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1003         (WebCore::toV8):
1004         * bindings/v8/custom/V8EventCustom.cpp:
1005         (WebCore::V8Event::dataTransferAccessorGetter):
1006         (WebCore::V8Event::clipboardDataAccessorGetter):
1007         (WebCore):
1008         * bindings/v8/custom/V8FileReaderCustom.cpp:
1009         (WebCore::V8FileReader::resultAccessorGetter):
1010         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1011         (WebCore::getItem):
1012         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
1013
1014 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1015
1016         [V8] Pass Isolate to toV8() (Part2)
1017         https://bugs.webkit.org/show_bug.cgi?id=84259
1018
1019         Reviewed by Nate Chapin.
1020
1021         The objective is to pass Isolate to all toV8()s.
1022         Since there are a lot of toV8(), I'll make the change
1023         step by step. This patch passes Isolate to toV8() in
1024         several custom bindings.
1025
1026         No tests. No change in behavior.
1027
1028         * bindings/v8/custom/V8BlobCustom.cpp:
1029         (WebCore::toV8):
1030         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1031         (WebCore::toV8):
1032         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1033         (WebCore::toV8):
1034         * bindings/v8/custom/V8CSSValueCustom.cpp:
1035         (WebCore::toV8):
1036         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1037         (WebCore::toV8Object):
1038         (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
1039         (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
1040         * bindings/v8/custom/V8ConsoleCustom.cpp:
1041         (WebCore::V8Console::memoryAccessorGetter):
1042         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1043         (WebCore::V8SQLStatementErrorCallback::handleEvent):
1044         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1045         (WebCore::toV8):
1046         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1047         (WebCore::toV8):
1048
1049 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1050
1051         [V8][Refactoring] Remove V8Proxy::toV8()
1052         https://bugs.webkit.org/show_bug.cgi?id=84257
1053
1054         Reviewed by Nate Chapin.
1055
1056         Some constructorCallback()s are using V8Proxy::toV8(),
1057         other constructorCallback()s are directly using setJSWrapperForXXX()
1058         (XXX can be DOMObject, ActiveDOMObject, Node or ActiveNode).
1059         We should unify them.
1060
1061         Considering the fact that V8Proxy::toV8() just supports
1062         XXX=DOMObject and thus is not flexible, replacing V8Proxy::toV8()
1063         with setJSWrapperForDOMObject() would make sense.
1064
1065         No tests. No change in behavior.
1066
1067         * bindings/v8/V8Proxy.h: Removed toV8().
1068
1069         * bindings/scripts/CodeGeneratorV8.pm: Replaced toV8() with setJSWrapperForDOMObject().
1070         (GenerateEventConstructorCallback):
1071         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
1072         (WebCore::V8ArrayBuffer::constructorCallback):
1073         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
1074         (WebCore::constructWebGLArrayWithArrayBufferArgument):
1075         (WebCore::constructWebGLArray):
1076         * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
1077         (WebCore::V8DOMFormData::constructorCallback):
1078         * bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
1079         (WebCore::V8DataView::constructorCallback):
1080         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
1081         (WebCore::V8MessageChannel::constructorCallback):
1082         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
1083         (WebCore::V8WebKitPoint::constructorCallback):
1084
1085         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
1086         (WebCore::V8TestEventConstructor::constructorCallback):
1087
1088 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1089
1090         [V8] Pass Isolate to toV8() (Part1)
1091         https://bugs.webkit.org/show_bug.cgi?id=84250
1092
1093         Reviewed by Nate Chapin.
1094
1095         The final objective is to pass Isolate around in V8 bindings.
1096         This patch makes a change in CodeGeneratorV8.pm so that the
1097         generated code passes Isolate to toV8().
1098
1099         No tests. No change in behavior.
1100
1101         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
1102         (GenerateNormalAttrGetter):
1103         (GenerateNamedConstructorCallback):
1104         (GenerateCallbackImplementation):
1105         (GenerateFunctionCallString):
1106         (NativeToJSValue):
1107
1108         * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
1109         (WebCore::Float64ArrayV8Internal::fooCallback):
1110         * bindings/scripts/test/V8/V8TestCallback.cpp:
1111         (WebCore::V8TestCallback::callbackWithClass1Param):
1112         (WebCore::V8TestCallback::callbackWithClass2Param):
1113         (WebCore::V8TestCallback::callbackWithStringList):
1114         (WebCore::V8TestCallback::callbackRequiresThisToPass):
1115         * bindings/scripts/test/V8/V8TestInterface.cpp:
1116         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1117         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1118         (WebCore::V8TestNamedConstructorConstructorCallback):
1119         * bindings/scripts/test/V8/V8TestObj.cpp:
1120         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
1121         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
1122         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
1123         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
1124         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
1125         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
1126         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
1127         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
1128         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
1129         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
1130         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
1131         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
1132         (WebCore::TestObjV8Internal::mutablePointAttrGetter):
1133         (WebCore::TestObjV8Internal::immutablePointAttrGetter):
1134         (WebCore::TestObjV8Internal::objMethodCallback):
1135         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
1136         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1137         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
1138         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
1139         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
1140         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
1141         (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
1142         (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
1143         (WebCore::TestObjV8Internal::strictFunctionCallback):
1144         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1145         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
1146
1147 2012-04-23  Kentaro Hara  <haraken@chromium.org>
1148
1149         [V8] Add an optional Isolate argument to setDOMException() and throwError()
1150         https://bugs.webkit.org/show_bug.cgi?id=84310
1151
1152         Reviewed by Nate Chapin.
1153
1154         The objective is to pass Isolate to setDOMException()
1155         and throwError(). This patch adds an optional Isolate argument
1156         to setDOMException() and throwError(). I'll pass the Isolate
1157         to these methods in the following patches.
1158
1159         No tests. No change in behavior.
1160
1161         * bindings/v8/V8Proxy.cpp:
1162         (WebCore):
1163         (WebCore::V8Proxy::setDOMException):
1164         (WebCore::V8Proxy::throwError):
1165         * bindings/v8/V8Proxy.h:
1166         (V8Proxy):
1167         (WebCore):
1168         (WebCore::throwError):
1169
1170 2012-04-23  Ian Vollick  <vollick@chromium.org>
1171
1172         [chromium] Properly ignore unsupported animation directions.
1173         https://bugs.webkit.org/show_bug.cgi?id=84599
1174
1175         Reviewed by Adrienne Walker.
1176
1177         Tested in CCLayerAnimationControllerTest.ignoreUnsupportedAnimationDirections.
1178
1179         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1180
1181 2012-04-17  Kentaro Hara  <haraken@chromium.org>
1182
1183         [Performance][V8] Skip Isolate look-up to find StringCache
1184         https://bugs.webkit.org/show_bug.cgi?id=84103
1185
1186         Reviewed by Nate Chapin.
1187
1188         This patch improves the performance of a lot of DOM attribute
1189         getters that return a string.
1190
1191         - Improves the performance of Dromaeo/dom-attr.html(element.property)
1192           by 27.7%.
1193         - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
1194           by 10.6%.
1195         - Improves the performance of div.id, div.className,
1196           div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
1197
1198         The followings are the test results in my Linux desktop.
1199
1200         Performance test: Dromaeo/dom-attr.html
1201         Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
1202         getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
1203         element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
1204         setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
1205         element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
1206         element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
1207         element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)
1208
1209         Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
1210         div.id:           30.70ns -> 26.70ns (+15%)
1211         div.className:    31.10ns -> 26.40ns (+18%)
1212         div.nodeName:     37.70ns -> 33.00ns (+14%)
1213         text.nodeValue:   31.40ns -> 25.90ns (+21%)
1214         text.textContent: 51.50ns -> 45.90ns (+12%)
1215
1216         Previously V8 bindings need to look up an Isolate to find
1217         an Isolate-local StringCache. This patch skips the look-up
1218         by getting the Isolate from AccessorInfo.GetIsolate()
1219         or Arguments.GetIsolate().
1220
1221         No tests. No change in behavior.
1222
1223         * bindings/scripts/CodeGeneratorV8.pm:
1224         (GenerateNormalAttrGetter):
1225         (GenerateFunctionCallString):
1226         (NativeToJSValue):
1227         * bindings/v8/V8Binding.cpp:
1228         (WebCore::getElementStringAttr):
1229         * bindings/v8/V8Binding.h:
1230         (WebCore::v8ExternalString): Make 'isolate' an optional argument.
1231         Ideally we want to make 'isolate' a non-optional argument,
1232         but it is difficult to rewrite all v8ExternalString() callers
1233         at a breath. We can rewrite them incrementally.
1234         (WebCore::v8String): Ditto.
1235         (WebCore::v8StringOrNull): Ditto.
1236         (WebCore::v8StringOrUndefined): Ditto.
1237         (WebCore::v8StringOrFalse): Ditto.
1238
1239         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
1240         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
1241         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
1242         * bindings/scripts/test/V8/V8TestInterface.cpp:
1243         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
1244         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
1245         * bindings/scripts/test/V8/V8TestObj.cpp:
1246         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
1247         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
1248         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
1249         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
1250         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
1251         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1252         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
1253         (WebCore::TestObjV8Internal::hashAttrGetter):
1254         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
1255
1256 2012-04-17  Kentaro Hara  <haraken@chromium.org>
1257
1258         [V8] Add an optional Isolate argument to wrap()
1259         https://bugs.webkit.org/show_bug.cgi?id=84202
1260
1261         Reviewed by Nate Chapin.
1262
1263         The final objective is to pass Isolate around in V8 bindings.
1264         This patch adds an optional Isolate argument to wrap().
1265         After rewriting all wrap() callers so that they pass Isolate
1266         to wrap(), I'll make the Isolate argument non-optional.
1267
1268         No tests. No change in behavior.
1269
1270         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
1271         (GenerateHeader):
1272         * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
1273         (WebCore::toV8):
1274         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
1275         (WebCore::toV8):
1276         * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
1277         (WebCore::toV8Slow):
1278         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
1279         (WebCore::toV8):
1280         * dom/make_names.pl: Ditto.
1281         (printWrapperFactoryCppFile):
1282
1283         * bindings/scripts/test/V8/V8Float64Array.h:
1284         Updated run-bindings-tests results.
1285         (V8Float64Array):
1286         (WebCore::V8Float64Array::wrap):
1287         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1288         (V8TestActiveDOMObject):
1289         (WebCore::V8TestActiveDOMObject::wrap):
1290         (WebCore::toV8):
1291         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1292         (V8TestCustomNamedGetter):
1293         (WebCore::V8TestCustomNamedGetter::wrap):
1294         (WebCore::toV8):
1295         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1296         (V8TestEventConstructor):
1297         (WebCore::V8TestEventConstructor::wrap):
1298         (WebCore::toV8):
1299         * bindings/scripts/test/V8/V8TestEventTarget.h:
1300         (V8TestEventTarget):
1301         (WebCore::V8TestEventTarget::wrap):
1302         (WebCore::toV8):
1303         * bindings/scripts/test/V8/V8TestInterface.h:
1304         (V8TestInterface):
1305         (WebCore::V8TestInterface::wrap):
1306         (WebCore::toV8):
1307         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1308         (V8TestMediaQueryListListener):
1309         (WebCore::V8TestMediaQueryListListener::wrap):
1310         (WebCore::toV8):
1311         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1312         (V8TestNamedConstructor):
1313         (WebCore::V8TestNamedConstructor::wrap):
1314         (WebCore::toV8):
1315         * bindings/scripts/test/V8/V8TestNode.h:
1316         (V8TestNode):
1317         (WebCore::V8TestNode::wrap):
1318         (WebCore::toV8):
1319         * bindings/scripts/test/V8/V8TestObj.h:
1320         (V8TestObj):
1321         (WebCore::V8TestObj::wrap):
1322         (WebCore::toV8):
1323         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1324         (V8TestSerializedScriptValueInterface):
1325         (WebCore::V8TestSerializedScriptValueInterface::wrap):
1326         (WebCore::toV8):
1327
1328 2012-04-17  Kentaro Hara  <haraken@chromium.org>
1329
1330         [V8] Pass Isolate to toV8Slow()
1331         https://bugs.webkit.org/show_bug.cgi?id=84173
1332
1333         Reviewed by Nate Chapin.
1334
1335         The final objective is to pass Isolate around in V8 bindings.
1336         This patch passes the Isolate to toV8Slow().
1337
1338         No tests. No change in behavior.
1339
1340         * bindings/scripts/CodeGeneratorV8.pm:
1341         (GenerateHeader):
1342         * bindings/v8/custom/V8NodeCustom.cpp:
1343         (WebCore::toV8Slow):
1344
1345 2012-04-17  Kentaro Hara  <haraken@chromium.org>
1346
1347         [V8] Add an optional Isolate argument to toV8().
1348         https://bugs.webkit.org/show_bug.cgi?id=84161
1349
1350         Reviewed by Nate Chapin.
1351
1352         The final objective is to pass Isolate around in V8 bindings.
1353         This patch adds an optional Isolate argument to toV8().
1354         After rewriting all toV8() callers so that they pass Isolate,
1355         I will make the Isolate argument non-optional.
1356
1357         No tests. No change in behavior.
1358
1359         * bindings/scripts/CodeGeneratorV8.pm:
1360         Modified as described above.
1361         (GenerateHeader):
1362         (NativeToJSValue):
1363         * bindings/v8/custom/V8BlobCustom.cpp:
1364         (WebCore::toV8):
1365         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1366         (WebCore::toV8):
1367         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1368         (WebCore::toV8):
1369         * bindings/v8/custom/V8CSSValueCustom.cpp:
1370         (WebCore::toV8):
1371         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
1372         (WebCore::toV8):
1373         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1374         (WebCore::toV8):
1375         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1376         (WebCore::toV8):
1377         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1378         (WebCore::toV8):
1379         * bindings/v8/custom/V8DataViewCustom.cpp:
1380         (WebCore::toV8):
1381         * bindings/v8/custom/V8DocumentCustom.cpp:
1382         (WebCore::toV8):
1383         * bindings/v8/custom/V8EntryCustom.cpp:
1384         (WebCore::toV8):
1385         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1386         (WebCore::toV8):
1387         * bindings/v8/custom/V8EventCustom.cpp:
1388         (WebCore::toV8):
1389         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1390         (WebCore::toV8):
1391         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
1392         (WebCore::toV8):
1393         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1394         (WebCore::toV8):
1395         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1396         (WebCore::toV8):
1397         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1398         (WebCore::toV8):
1399         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1400         (WebCore::toV8):
1401         * bindings/v8/custom/V8IDBKeyCustom.cpp:
1402         (WebCore::toV8):
1403         * bindings/v8/custom/V8ImageDataCustom.cpp:
1404         (WebCore::toV8):
1405         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1406         (WebCore::toV8):
1407         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1408         (WebCore::toV8):
1409         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1410         (WebCore::toV8):
1411         * bindings/v8/custom/V8LocationCustom.cpp:
1412         (WebCore::toV8):
1413         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1414         (WebCore::toV8):
1415         * bindings/v8/custom/V8NodeCustom.cpp:
1416         (WebCore::toV8Slow):
1417         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1418         (WebCore::toV8):
1419         * bindings/v8/custom/V8SVGElementCustom.cpp:
1420         (WebCore::toV8):
1421         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1422         (WebCore::toV8):
1423         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1424         (WebCore::toV8):
1425         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1426         (WebCore::toV8):
1427         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1428         (WebCore::toV8):
1429         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1430         (WebCore::toV8):
1431         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1432         (WebCore::toV8):
1433         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1434         (WebCore::toV8):
1435         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
1436         (WebCore::toV8):
1437         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1438         (WebCore::toV8):
1439
1440         * bindings/scripts/test/V8/V8Float64Array.h:
1441         Updated run-bindings-tests results.
1442         (WebCore):
1443         (WebCore::toV8):
1444         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1445         (WebCore::toV8):
1446         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1447         (WebCore::toV8):
1448         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1449         (WebCore::toV8):
1450         * bindings/scripts/test/V8/V8TestEventTarget.h:
1451         (WebCore::toV8):
1452         * bindings/scripts/test/V8/V8TestInterface.h:
1453         (WebCore::toV8):
1454         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1455         (WebCore::toV8):
1456         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1457         (WebCore::toV8):
1458         * bindings/scripts/test/V8/V8TestNode.h:
1459         (WebCore::toV8):
1460         * bindings/scripts/test/V8/V8TestObj.h:
1461         (WebCore::toV8):
1462         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1463         (WebCore::toV8):
1464
1465 2012-04-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1466         [EFL][WK2] Fix build break when non-cross platform CONTEXT_MENUS are enabled.
1467         https://bugs.webkit.org/show_bug.cgi?id=84136
1468
1469         Reviewed by Andreas Kling.
1470
1471         There was a mismatch between contextMenuItemVector declaration and definition.
1472         Fixed by changing PlatformMenuDescription for EFL port by adding a const modifier.
1473
1474         No new tests required.
1475
1476         * platform/PlatformMenuDescription.h:
1477         (WebCore): Added const modifier to PlatformMenuDescription definition.
1478
1479 2012-04-23  Pierre Rossi  <pierre.rossi@gmail.com>
1480
1481         [Qt] Ensure zero-width space effectively accounts for a width of zero.
1482         https://bugs.webkit.org/show_bug.cgi?id=84595
1483
1484         Reviewed by Simon Hausmann.
1485
1486         The logic so far relies on FontCache::getFontDataForCharacters to
1487         return a valid fontData in the case where the fonts specified don't
1488         have a glyph for the zero-width space character.
1489         QTextLayout::glyphRuns simply ignores characters that don't render in
1490         the glyph runs it returns, so we need to ensure that the subsequent
1491         call to platformWidthForGlyph doesn't lead to a non-zero width.
1492
1493         Covered by tests containing control characters such as
1494         a soft-hyphen like it's the case in:
1495         svg/as-image/img-preserveAspectRatio-support-1.html
1496
1497         * platform/graphics/qt/SimpleFontDataQt.cpp:
1498         (WebCore::SimpleFontData::platformWidthForGlyph):
1499
1500 2012-04-23  Ian Vollick  <vollick@chromium.org>
1501
1502         [chromium] When prepareToDraw fails due to animation checkerboard, we need to call setNeedsCommit
1503         https://bugs.webkit.org/show_bug.cgi?id=84520
1504
1505         Reviewed by Adrienne Walker.
1506
1507         Tested in CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
1508
1509         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1510         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1511
1512 2012-04-23  Alexis Menard  <alexis.menard@openbossa.org>
1513
1514         Simplify CSSParser::parseFont.
1515         https://bugs.webkit.org/show_bug.cgi?id=78698
1516
1517         Reviewed by Antti Koivisto.
1518
1519         Simplify parseFont by sharing the code we have for
1520         the longhands of the font property.
1521
1522         No new tests : Extend the existing font shorthand test and modify expected files
1523         as now the order of the longhands added in the property list of the style
1524         has changed. It's very unlikely that some code is relying on this order though. It will
1525         also match the way the spec order them http://www.w3.org/TR/css3-fonts/#font-prop
1526         even though the order is arbitrary for some values.
1527
1528         * css/CSSParser.cpp:
1529         (WebCore::CSSParser::parseValue):
1530         (WebCore::CSSParser::parseFont):
1531         (WebCore::CSSParser::parseLineHeight):
1532         (WebCore):
1533         (WebCore::CSSParser::parseFontSize):
1534         (WebCore::CSSParser::parseFontWeight):  Fix a bug discovered while using parseFontWeight from
1535         the parseFont (case font: 0/0, Arial, sans-serif; in a layout test), we should return true only
1536         when we add something in the property list.
1537         * css/CSSParser.h:
1538
1539 2012-04-23  Yury Semikhatsky  <yurys@chromium.org>
1540
1541         Web Inspector: improve the way heap snapshot diff is calculated
1542         https://bugs.webkit.org/show_bug.cgi?id=84590
1543
1544         Diff calculation now consists of the following steps:
1545         1. Collect data about nodes in the base heap snapshot
1546         2. Pass it to the second snapshot.
1547         3. Calculate delta for each class.
1548
1549         Reviewed by Pavel Feldman.
1550
1551         * inspector/front-end/HeapSnapshot.js:
1552         (WebInspector.HeapSnapshot):
1553         (WebInspector.HeapSnapshot.prototype.dispose):
1554         (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
1555         (WebInspector.HeapSnapshot.prototype.calculateSnapshotDiff):
1556         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
1557         (WebInspector.HeapSnapshot.prototype.createAddedNodesProvider):
1558         (WebInspector.HeapSnapshot.prototype.createDeletedNodesProvider):
1559         * inspector/front-end/HeapSnapshotDataGrids.js:
1560         (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren.aggregatesForDiffReceived.didCalculateSnapshotDiff):
1561         (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
1562         * inspector/front-end/HeapSnapshotGridNodes.js:
1563         (WebInspector.HeapSnapshotIteratorsTuple):
1564         (WebInspector.HeapSnapshotDiffNode):
1565         (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
1566         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
1567         * inspector/front-end/HeapSnapshotProxy.js:
1568         (WebInspector.HeapSnapshotProxy.prototype.aggregatesForDiff):
1569         (WebInspector.HeapSnapshotProxy.prototype.calculateSnapshotDiff):
1570         (WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
1571         (WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
1572         * inspector/front-end/HeapSnapshotView.js:
1573         (WebInspector.HeapSnapshotView.prototype._changeBase):
1574
1575 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
1576
1577         Web Inspector: Rename and extract UISourceCodeImpl into JavaScriptSource
1578         https://bugs.webkit.org/show_bug.cgi?id=84587
1579
1580         Reviewed by Yury Semikhatsky.
1581
1582         No changes other than extraction here. This is the first step in the Resource
1583         hierarchy refactoring described in bug 84586.
1584
1585         * WebCore.gypi:
1586         * WebCore.vcproj/WebCore.vcproj:
1587         * inspector/compile-front-end.py:
1588         * inspector/front-end/CompilerScriptMapping.js:
1589         (WebInspector.CompilerScriptMapping.prototype.addScript):
1590         * inspector/front-end/DebuggerPresentationModel.js:
1591         * inspector/front-end/JavaScriptSource.js: Added.
1592         (WebInspector.JavaScriptSource):
1593         (WebInspector.JavaScriptSource.prototype.breakpoints):
1594         (WebInspector.JavaScriptSource.prototype.breakpointAdded):
1595         (WebInspector.JavaScriptSource.prototype.breakpointRemoved):
1596         (WebInspector.JavaScriptSource.prototype.consoleMessages):
1597         (WebInspector.JavaScriptSource.prototype.consoleMessageAdded):
1598         (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
1599         * inspector/front-end/RawSourceCode.js:
1600         (WebInspector.RawSourceCode.prototype._createUISourceCode):
1601         * inspector/front-end/SnippetsModel.js:
1602         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1603         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
1604         * inspector/front-end/WebKit.qrc:
1605         * inspector/front-end/inspector.html:
1606
1607 2012-04-23  Gavin Peters  <gavinp@chromium.org>
1608
1609         Move ReferrerPolicy out of SecurityPolicy class into its own header in platform.
1610         https://bugs.webkit.org/show_bug.cgi?id=84516
1611
1612         Reviewed by Adam Barth.
1613
1614         No change in behaviour; same enum, different class.
1615
1616         * GNUmakefile.list.am:
1617         * Target.pri:
1618         * WebCore.exp.in:
1619         * WebCore.gypi:
1620         * WebCore.vcproj/WebCore.vcproj:
1621         * WebCore.xcodeproj/project.pbxproj:
1622         * dom/Document.cpp:
1623         (WebCore::Document::Document):
1624         (WebCore::Document::processReferrerPolicy):
1625         * dom/Document.h:
1626         (WebCore::Document::referrerPolicy):
1627         (Document):
1628         * page/SecurityPolicy.h:
1629         * platform/ReferrerPolicy.h: Added.
1630         (WebCore):
1631
1632 2012-04-23  Vineet Chaudhary  <rgf748@motorola.com>
1633
1634         JS binding code generator doesn't handle "attribute unsigned long[]" well
1635         https://bugs.webkit.org/show_bug.cgi?id=84540
1636
1637         Reviewed by Kentaro Hara.
1638
1639         Codegenerator should handle spaces with the sequence<> to support
1640         numeric types like "unsigned long", "int" .. etc. and primitive types
1641         like "boolean", "Date" etc.
1642
1643         Tests: bindings/scripts/test/TestObj.idl
1644
1645         * bindings/scripts/CodeGenerator.pm:
1646         (SkipIncludeHeader): Rename AvoidInclusionOfType to SkipIncludeHeader.
1647         (GetArrayType):
1648         * bindings/scripts/CodeGeneratorJS.pm:
1649         (AddIncludesForType):
1650         (NativeToJSValue):
1651         * bindings/scripts/CodeGeneratorObjC.pm:
1652         (AddIncludesForType):
1653         (GenerateImplementation):
1654         * bindings/scripts/CodeGeneratorV8.pm:
1655         (AddIncludesForType):
1656         (GetHeaderClassInclude):
1657         (GenerateNormalAttrGetter):
1658         (NativeToJSValue):
1659         * bindings/scripts/IDLStructure.pm:
1660         * bindings/scripts/test/JS/JSTestObj.cpp:
1661         (WebCore):
1662         (WebCore::jsTestObjIntSequenceAttr):
1663         (WebCore::jsTestObjShortSequenceAttr):
1664         (WebCore::jsTestObjLongSequenceAttr):
1665         (WebCore::jsTestObjLongLongSequenceAttr):
1666         (WebCore::jsTestObjUnsignedIntSequenceAttr):
1667         (WebCore::jsTestObjUnsignedShortSequenceAttr):
1668         (WebCore::jsTestObjUnsignedLongSequenceAttr):
1669         (WebCore::jsTestObjUnsignedLongLongSequenceAttr):
1670         (WebCore::jsTestObjFloatSequenceAttr):
1671         (WebCore::jsTestObjDoubleSequenceAttr):
1672         (WebCore::jsTestObjBooleanSequenceAttr):
1673         (WebCore::jsTestObjVoidSequenceAttr):
1674         (WebCore::jsTestObjDateSequenceAttr):
1675         (WebCore::setJSTestObjSequenceAttr):
1676         (WebCore::setJSTestObjIntSequenceAttr):
1677         (WebCore::setJSTestObjShortSequenceAttr):
1678         (WebCore::setJSTestObjLongSequenceAttr):
1679         (WebCore::setJSTestObjLongLongSequenceAttr):
1680         (WebCore::setJSTestObjUnsignedIntSequenceAttr):
1681         (WebCore::setJSTestObjUnsignedShortSequenceAttr):
1682         (WebCore::setJSTestObjUnsignedLongSequenceAttr):
1683         (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
1684         (WebCore::setJSTestObjFloatSequenceAttr):
1685         (WebCore::setJSTestObjDoubleSequenceAttr):
1686         (WebCore::setJSTestObjBooleanSequenceAttr):
1687         (WebCore::setJSTestObjVoidSequenceAttr):
1688         (WebCore::setJSTestObjDateSequenceAttr):
1689         * bindings/scripts/test/JS/JSTestObj.h:
1690         (WebCore):
1691         * bindings/scripts/test/ObjC/DOMTestObj.h:
1692         * bindings/scripts/test/TestObj.idl:
1693         * bindings/scripts/test/V8/V8TestObj.cpp:
1694         (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
1695         (TestObjV8Internal):
1696         (WebCore::TestObjV8Internal::intSequenceAttrAttrSetter):
1697         (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
1698         (WebCore::TestObjV8Internal::shortSequenceAttrAttrSetter):
1699         (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
1700         (WebCore::TestObjV8Internal::longSequenceAttrAttrSetter):
1701         (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
1702         (WebCore::TestObjV8Internal::longLongSequenceAttrAttrSetter):
1703         (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
1704         (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrSetter):
1705         (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
1706         (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrSetter):
1707         (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
1708         (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrSetter):
1709         (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
1710         (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrSetter):
1711         (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
1712         (WebCore::TestObjV8Internal::floatSequenceAttrAttrSetter):
1713         (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
1714         (WebCore::TestObjV8Internal::doubleSequenceAttrAttrSetter):
1715         (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
1716         (WebCore::TestObjV8Internal::booleanSequenceAttrAttrSetter):
1717         (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
1718         (WebCore::TestObjV8Internal::voidSequenceAttrAttrSetter):
1719         (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
1720         (WebCore::TestObjV8Internal::dateSequenceAttrAttrSetter):
1721         (WebCore):
1722
1723 2012-04-23  Andreas Kling  <kling@webkit.org>
1724
1725         Unreviewed assertion fix for Chromium bots.
1726
1727         Skip unnecessary Attr::attachToElement() after constructing an Attr using the
1728         constructor that attaches to an Element.
1729
1730         * dom/ElementAttributeData.cpp:
1731         (WebCore::ElementAttributeData::ensureAttr):
1732
1733 2012-04-23  Andreas Kling  <kling@webkit.org>
1734
1735         REGRESSION(r114870): Assertion failure in ElementAttributeData::setAttr().
1736         <http://webkit.org/b/84581>
1737
1738         Reviewed by Antti Koivisto.
1739
1740         Attach the Attr and bump m_attrCount manually in ensureAttr() instead of calling
1741         setAttr(). The latter asserts that the Attr isn't present in the map, which
1742         obviously isn't true after we've just added it.
1743
1744         This has the added effect of removing one unnecessary hash lookup.
1745
1746         * dom/ElementAttributeData.cpp:
1747         (WebCore::ElementAttributeData::ensureAttr):
1748
1749 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
1750
1751         Web Inspector: make ParsedURL.prototype.displayName data url friendly.
1752         https://bugs.webkit.org/show_bug.cgi?id=84578
1753
1754         Reviewed by Yury Semikhatsky.
1755
1756         We'd like to define valid URL as the one that has scheme, host and path.
1757         We can append to this URL and manipulate its content. We still want 
1758         possibly invalid specs (such as data or about) to exist and have nice
1759         display names.
1760
1761         * inspector/front-end/ResourceUtils.js:
1762         (WebInspector.ParsedURL):
1763         (WebInspector.ParsedURL.prototype.get displayName):
1764
1765 2012-04-23  Pavel Feldman  <pfeldman@chromium.org>
1766
1767         Web Inspector: introduce String.prototype.starts/endsWith and use it all over the place.
1768         https://bugs.webkit.org/show_bug.cgi?id=84574
1769
1770         Reviewed by Yury Semikhatsky.
1771
1772         * inspector/front-end/AuditRules.js:
1773         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
1774         * inspector/front-end/BreakpointsSidebarPane.js:
1775         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
1776         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
1777         * inspector/front-end/CSSCompletions.js:
1778         (WebInspector.CSSCompletions.prototype.startsWith):
1779         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
1780         * inspector/front-end/ConsoleView.js:
1781         (WebInspector.ConsoleView.prototype._reportCompletions):
1782         * inspector/front-end/CookieItemsView.js:
1783         (WebInspector.Cookies.cookieMatchesResourceURL):
1784         * inspector/front-end/DatabaseQueryView.js:
1785         (WebInspector.DatabaseQueryView.prototype.completions):
1786         * inspector/front-end/ElementsTreeOutline.js:
1787         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
1788         * inspector/front-end/ProfileView.js:
1789         * inspector/front-end/ProfilesPanel.js:
1790         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1791         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
1792         (WebInspector.ProfileSidebarTreeElement):
1793         (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
1794         * inspector/front-end/ResourceUtils.js:
1795         (WebInspector.ParsedURL):
1796         (WebInspector.displayNameForURL):
1797         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
1798         (WebInspector.completeURL):
1799         * inspector/front-end/SnippetsModel.js:
1800         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
1801         * inspector/front-end/SourceCSSTokenizer.js:
1802         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
1803         * inspector/front-end/SourceCSSTokenizer.re2js:
1804         * inspector/front-end/TextPrompt.js:
1805         (WebInspector.TextPrompt.prototype._completeCommonPrefix):
1806         * inspector/front-end/UIUtils.js:
1807         (WebInspector.startEditing):
1808         * inspector/front-end/utilities.js:
1809
1810 2012-04-23  Andreas Kling  <kling@webkit.org>
1811
1812         REGRESSION(r114870): Performance hit on DOM/CloneNodes and DOM/CreateNodes.
1813         <http://webkit.org/b/84575>
1814
1815         Reviewed by Antti Koivisto.
1816
1817         Simplify the cloning of Attributes from one Element to another by simply
1818         assigning to m_attributes. This avoids default-constructing a bunch of
1819         Attribute objects that we overwrite immediately anyway (this used to be
1820         fine because they were RefPtr<Attribute> but now that a default-constructed
1821         Attribute contains a QualifiedName, we were doing a bunch of extra hash
1822         lookups, etc.)
1823
1824         * dom/ElementAttributeData.cpp:
1825         (WebCore::ElementAttributeData::setAttributes):
1826
1827 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
1828
1829         Web Inspector: implement "open stylesheet" dialog.
1830         https://bugs.webkit.org/show_bug.cgi?id=84466
1831
1832         Reviewed by Yury Semikhatsky.
1833
1834         This change introduces abstract OpenResourceDialog and re-uses it in OpenScriptDialog and OpenStylesheetDialog.
1835         Drive-by fix for data: url representation in the navigator and open resource dialogs.
1836
1837         * inspector/front-end/FilteredItemSelectionDialog.js:
1838         (WebInspector.FilteredItemSelectionDialog.prototype.position):
1839         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
1840         (WebInspector.OpenResourceDialog.compareFunction):
1841         (WebInspector.OpenResourceDialog):
1842         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
1843         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
1844         (WebInspector.OpenResourceDialog.prototype.itemsCount):
1845         (WebInspector.OpenResourceDialog.prototype.requestItems):
1846         (WebInspector.OpenResourceDialog.prototype.selectItem):
1847         (WebInspector.OpenScriptDialog):
1848         (WebInspector.OpenScriptDialog.install):
1849         (WebInspector.OpenScriptDialog._show):
1850         (WebInspector.OpenScriptDialog.prototype.selectItem):
1851         * inspector/front-end/ResourceUtils.js:
1852         (WebInspector.ParsedURL):
1853         * inspector/front-end/ScriptsPanel.js:
1854         * inspector/front-end/StylesPanel.js:
1855         (WebInspector.StylesPanel):
1856         (WebInspector.StylesPanel.prototype._showOpenStylesheetDialog):
1857         (WebInspector.OpenStylesheetDialog):
1858         (WebInspector.OpenStylesheetDialog.prototype.selectItem):
1859         * inspector/front-end/inspector.html:
1860
1861 2012-04-23  Kent Tamura  <tkent@chromium.org>
1862
1863         Add test function to get placeholder string
1864         https://bugs.webkit.org/show_bug.cgi?id=84536
1865
1866         Reviewed by Ryosuke Niwa.
1867
1868         Add window.internals.visiblePlaceholder(element), which returns a
1869         placeholder string only when it's visible.
1870
1871         * WebCore.exp.in: Expose HTMLTextFormControlElement::placeholderShouldBeVisible().
1872         * testing/Internals.cpp:
1873         (WebCore::Internals::visiblePlaceholder): Added.
1874         (WebCore::Internals::selectColorInColorChooser): Omit HTMLNames::.
1875         * testing/Internals.h:
1876         (Internals): Add visiblePlaceholder().
1877         * testing/Internals.idl: ditto.
1878
1879 2012-04-23  Szilard Ledan  <szledan@inf.u-szeged.hu>
1880
1881         Incorrect handling of CSS escape sequences that encode surrogates
1882         https://bugs.webkit.org/show_bug.cgi?id=76152
1883
1884         Reviewed by Kent Tamura.
1885
1886         Test: fast/css/parsing-css-surrogate-pairs.html
1887
1888         * css/CSSParser.cpp:
1889         (WebCore::CSSParser::parseEscape):
1890
1891 2012-04-22  Yury Semikhatsky  <yurys@chromium.org>
1892
1893         Web Inspector: make populateChildren methods private in heap profiler front-end
1894         https://bugs.webkit.org/show_bug.cgi?id=84562
1895
1896         - populateChildren method on HeapSnapshotConstructorsDataGrid and
1897         HeapSnapshotDiffDataGrid now is private.
1898         - Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which
1899         is overriden in some descendants
1900         - Removed unused HeapSnapshotPathFinderProxy
1901         - added closure compiler annotations
1902
1903         Reviewed by Pavel Feldman.
1904
1905         * inspector/front-end/HeapSnapshotDataGrids.js:
1906         (WebInspector.HeapSnapshotSortableDataGrid.prototype.defaultPopulateCount):
1907         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
1908         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
1909         (WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
1910         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
1911         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
1912         * inspector/front-end/HeapSnapshotGridNodes.js:
1913         (WebInspector.HeapSnapshotGridNode):
1914         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
1915         (WebInspector.HeapSnapshotDiffNode):
1916         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
1917         * inspector/front-end/HeapSnapshotProxy.js:
1918
1919 2012-04-22  Andreas Kling  <kling@webkit.org>
1920
1921         Unreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.
1922
1923         * dom/DOMAllInOne.cpp: My nemesis.
1924
1925 2012-04-22  Andreas Kling  <kling@webkit.org>
1926
1927         Optimize Element attribute storage for the common case (no Attr objects.)
1928         <http://webkit.org/b/83440>
1929
1930         Reviewed by Antti Koivisto.
1931
1932         Reduce Attribute to its smallest possible size; a qname/value pair.
1933         They are no-longer ref-counted, which allows us to store them in Vectors.
1934
1935         Refactored the DOM Attr object to go with the new Attribute:
1936         Attr now wraps either {element, qname} or {qname, value}. The latter is for
1937         the case where a standalone Attr object is instantiated via DOM APIs.
1938
1939         ElementAttributeData.cpp manages a map of pair<element, qname> => Attr.
1940         Each Element (well, ElementAttributeData) keeps track of how many Attr
1941         objects are pointing to it. This is so we can avoid hash lookups during
1942         common operations in the typical case where you have zero Attrs.
1943
1944         Also removed the inline capacity (was 4) from AttributeVector as that
1945         would significantly increase bloat now that we store Attribute (2 pointers)
1946         rather than RefPtr<Attribute>. We trade this one piece of indirection
1947         for the removal of per-Attribute indirection.
1948
1949         * CMakeLists.txt:
1950         * GNUmakefile.list.am:
1951         * Target.pri:
1952         * WebCore.gypi:
1953         * WebCore.vcproj/WebCore.vcproj:
1954         * WebCore.xcodeproj/project.pbxproj:
1955         * dom/Attr.cpp:
1956         (WebCore::Attr::Attr):
1957         (WebCore):
1958         (WebCore::Attr::create):
1959         (WebCore::Attr::~Attr):
1960         (WebCore::Attr::createTextChild):
1961         (WebCore::Attr::setPrefix):
1962         (WebCore::Attr::setValue):
1963         (WebCore::Attr::cloneNode):
1964         (WebCore::Attr::childrenChanged):
1965         (WebCore::Attr::style):
1966         (WebCore::Attr::value):
1967         (WebCore::Attr::elementAttribute):
1968         (WebCore::Attr::detachFromElementWithValue):
1969         (WebCore::Attr::attachToElement):
1970         * dom/Attr.h:
1971         (WebCore):
1972         (Attr):
1973         (WebCore::Attr::qualifiedName):
1974         (WebCore::Attr::localName):
1975         (WebCore::Attr::namespaceURI):
1976         (WebCore::Attr::prefix):
1977         * dom/Attribute.cpp: Removed.
1978         * dom/Attribute.h:
1979         (WebCore::Attribute::Attribute):
1980         (Attribute):
1981         * dom/Document.cpp:
1982         (WebCore::Document::importNode):
1983         (WebCore::Document::createAttributeNS):
1984         * dom/Element.cpp:
1985         (WebCore::Element::~Element):
1986         (WebCore::Element::detachAttribute):
1987         (WebCore):
1988         (WebCore::Element::removeAttribute):
1989         (WebCore::Element::setAttributeInternal):
1990         (WebCore::Element::parserSetAttributes):
1991         (WebCore::Element::setAttributeNode):
1992         (WebCore::Element::removeAttributeNode):
1993         (WebCore::Element::normalizeAttributes):
1994         (WebCore::Element::didRemoveAttribute):
1995         (WebCore::Element::attrIfExists):
1996         (WebCore::Element::ensureAttr):
1997         * dom/Element.h:
1998         (Element):
1999         (WebCore::Element::getAttributeItemIndex):
2000         * dom/ElementAttributeData.cpp:
2001         (WebCore):
2002         (WebCore::attrMap):
2003         (WebCore::ElementAttributeData::attrIfExists):
2004         (WebCore::ElementAttributeData::ensureAttr):
2005         (WebCore::ElementAttributeData::setAttr):
2006         (WebCore::ElementAttributeData::removeAttr):
2007         (WebCore::AttributeVector::removeAttribute):
2008         (WebCore::ElementAttributeData::~ElementAttributeData):
2009         (WebCore::ElementAttributeData::addAttribute):
2010         (WebCore::ElementAttributeData::removeAttribute):
2011         (WebCore::ElementAttributeData::isEquivalent):
2012         (WebCore::ElementAttributeData::detachAttributesFromElement):
2013         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
2014         (WebCore::ElementAttributeData::setAttributes):
2015         (WebCore::ElementAttributeData::clearAttributes):
2016         (WebCore::ElementAttributeData::replaceAttribute):
2017         (WebCore::ElementAttributeData::getAttributeNode):
2018         * dom/ElementAttributeData.h:
2019         (WebCore):
2020         (WebCore::AttributeVector::AttributeVector):
2021         (AttributeVector):
2022         (WebCore::AttributeVector::getAttributeItem):
2023         (WebCore::AttributeVector::getAttributeItemIndex):
2024         (WebCore::AttributeVector::insertAttribute):
2025         (WebCore::ElementAttributeData::attributeItem):
2026         (ElementAttributeData):
2027         (WebCore::ElementAttributeData::ElementAttributeData):
2028         (WebCore::ElementAttributeData::attributeVector):
2029         (WebCore::ElementAttributeData::clonedAttributeVector):
2030         (WebCore::ElementAttributeData::removeAttribute):
2031         (WebCore::ElementAttributeData::getAttributeItem):
2032         (WebCore::ElementAttributeData::getAttributeItemIndex):
2033         * dom/NamedNodeMap.cpp:
2034         (WebCore::NamedNodeMap::getNamedItem):
2035         (WebCore::NamedNodeMap::getNamedItemNS):
2036         (WebCore::NamedNodeMap::removeNamedItem):
2037         (WebCore::NamedNodeMap::removeNamedItemNS):
2038         (WebCore::NamedNodeMap::item):
2039         * dom/Node.cpp:
2040         (WebCore::Node::compareDocumentPosition):
2041         * html/HTMLAnchorElement.cpp:
2042         (WebCore::HTMLAnchorElement::parseAttribute):
2043         * html/HTMLSelectElement.cpp:
2044         (WebCore::HTMLSelectElement::parseAttribute):
2045         * html/parser/HTMLConstructionSite.cpp:
2046         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2047         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
2048         (WebCore::HTMLConstructionSite::insertScriptElement):
2049         (WebCore::HTMLConstructionSite::createElement):
2050         (WebCore::HTMLConstructionSite::createHTMLElement):
2051         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
2052         * html/parser/HTMLToken.h:
2053         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2054         * html/parser/HTMLTreeBuilder.cpp:
2055         (WebCore::HTMLTreeBuilder::processFakeStartTag):
2056         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
2057         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
2058         (WebCore):
2059         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2060         * html/parser/HTMLTreeBuilder.h:
2061         * html/parser/TextDocumentParser.cpp:
2062         (WebCore::TextDocumentParser::insertFakePreElement):
2063         * page/PageSerializer.cpp:
2064         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
2065         * svg/SVGFitToViewBox.cpp:
2066         * svg/properties/SVGAnimatedPropertySynchronizer.h:
2067         * xml/XMLErrors.cpp:
2068         (WebCore::createXHTMLParserErrorHeader):
2069         (WebCore::XMLErrors::insertErrorMessageBlock):
2070         * xml/XPathNodeSet.cpp:
2071         (WebCore::XPath::NodeSet::traversalSort):
2072         * xml/XPathStep.cpp:
2073         (WebCore::XPath::Step::nodesInAxis):
2074         * xml/parser/MarkupTokenBase.h:
2075         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
2076         (WebCore::AtomicMarkupTokenBase::getAttributeItem):
2077         (WebCore::AtomicMarkupTokenBase::attributes):
2078         (AtomicMarkupTokenBase):
2079         (WebCore::::initializeAttributes):
2080         * xml/parser/XMLToken.h:
2081         (WebCore::AtomicXMLToken::AtomicXMLToken):
2082         * xml/parser/XMLTreeBuilder.cpp:
2083         (WebCore::XMLTreeBuilder::processNamespaces):
2084         (WebCore::XMLTreeBuilder::processAttributes):
2085
2086 2012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
2087
2088         Sync the MOZ_X11 changes from r14 of http://code.google.com/p/npapi-sdk/
2089         also, modified required build flags for Qt,Gtk and CMake
2090         [Qt]  Added MOZ_X11 build flag for !embedded
2091         https://bugs.webkit.org/show_bug.cgi?id=40785
2092
2093         Reviewed by Anders Carlsson.
2094
2095         No new tests. This does not change functionality. Affects all X11 Ports. Build should break if MOZ_X11 is not passed where required
2096
2097         * WebCore.pri:
2098         * plugins/npapi.h:
2099
2100 2012-04-22  Pablo Flouret  <pablof@motorola.com>
2101
2102         Reset event propagation and canceled flags in Event.initEvent
2103         https://bugs.webkit.org/show_bug.cgi?id=83964
2104
2105         Reviewed by Ryosuke Niwa.
2106
2107         Step 3 in http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-initevent
2108         Useful for re-configuring an event before dispatching.
2109
2110         Test: fast/events/flags-unset-on-init-event.html
2111
2112         * dom/Event.cpp:
2113         (WebCore::Event::initEvent):
2114
2115 2012-04-22  Martin Robinson  <mrobinson@igalia.com>
2116
2117         [Cairo] Implement CompositeDifference
2118         https://bugs.webkit.org/show_bug.cgi?id=77354
2119
2120         Reviewed by Alejandro G. Castro.
2121
2122         No new tests. The difference compositing operator are not exposed
2123         to web content, so this change is simply in preparation for a time
2124         in which it is used.
2125
2126         Properly map the difference compositing blend modes to a Cairo operator.
2127
2128         * platform/graphics/cairo/CairoUtilities.cpp:
2129         (WebCore::toCairoOperator): Add a mapping for difference. Remove
2130         code supporting versions of Cairo before 1.10, since the Cairo backend
2131         requires 1.10 or greater already.
2132
2133 2012-04-22  Jon Lee  <jonlee@apple.com>
2134
2135         Remove notifications support on Mac Lion.
2136         https://bugs.webkit.org/show_bug.cgi?id=84554
2137         <rdar://problem/11297128>
2138
2139         Reviewed by Sam Weinig.
2140
2141         * Configurations/FeatureDefines.xcconfig:
2142
2143 2012-04-22  Shawn Singh  <shawnsingh@chromium.org>
2144
2145         [chromium] Damage Tracker needs to use CCMathUtil transforms
2146         https://bugs.webkit.org/show_bug.cgi?id=84070
2147
2148         Reviewed by Adrienne Walker.
2149
2150         Unit test added to CCDamageTracker.cpp.
2151
2152         This patch makes CCDamageTracker use CCMathUtil transforms, so
2153         that perspective w < 0 problem is correctly handled.
2154
2155         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2156         (WebCore::CCDamageTracker::extendDamageForLayer):
2157         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
2158
2159 2012-04-20  Jon Lee  <jonlee@apple.com>
2160
2161         Add Notification constructor
2162         https://bugs.webkit.org/show_bug.cgi?id=80477
2163         <rdar://problem/10912431>
2164
2165         Reviewed by Jian Li.
2166
2167         Tests will be added once there is support for web notifications on the Mac ports.
2168
2169         * WebCore.exp.in: Export finalize() function.
2170
2171         Modify Dictionary to support creation of event listeners.
2172         * bindings/js/Dictionary.h:
2173         (WebCore::Dictionary::isObject): Return true if the JSDictionary is valid.
2174         (WebCore::Dictionary::isUndefinedOrNull): Return true if the JSDictionary is not valid.
2175         (WebCore::Dictionary::get): Add convenience function to take const char* for
2176         property name, to prevent having to do implicit conversion to WTF::String.
2177         (WebCore::Dictionary::getEventListener): Add function to create event listener
2178         from the dictionary.
2179         (WebCore::Dictionary::asJSObject): Helper to convert WebCore objects to JS wrapper.
2180         * bindings/js/Dictionary.cpp:
2181         (WebCore::Notification): Implement asJSObject() for Notification.
2182         * bindings/js/JSDictionary.h:
2183         (WebCore::JSDictionary::execState): Expose the exec state so that the Dictionary
2184         can obtain its world for creating the event listener.
2185
2186         * bindings/v8/Dictionary.h:
2187         (WebCore::Dictionary::getEventListener): Stub implementation.
2188
2189         Add new constructor to idl definitions.
2190         * notifications/DOMWindowNotifications.idl: Add Notification constructor, if
2191         ENABLE(NOTIFICATIONS) is on.
2192         * notifications/Notification.idl: If ENABLE(NOTIFICATIONS) is turned on, define
2193         the constructor. Otherwise, use OmitConstructor.
2194         * notifications/NotificationCenter.idl: Wrap creation functions in
2195         ENABLE(LEGACY_NOTIFICATIONS).
2196         * notifications/NotificationCenter.h: Ditto.
2197         (NotificationCenter):
2198
2199         * notifications/Notification.h:
2200         (Notification): Wrap legacy constructors in ENABLE(LEGACY_NOTIFICATIONS).
2201         (WebCore::Notification::create): New creation function based on discussions in WG.
2202         * notifications/Notification.cpp:
2203         (WebCore::getAndAddEventListener): Helper function to get the listener from the
2204         dictionary, and attach to the notification.
2205         (WebCore::Notification::create): Create the notification, then apply whatever
2206         properties can be found in the dictionary to the notification. In order to
2207         attach the event listeners, the notification has to have been created, which is
2208         why this all happens in the factory method and not in the constructor.
2209         (WebCore::Notification::setBody): Added so that it can be set if we find it in the
2210         dictionary.
2211
2212         The new constructor queues a task to show when it is created. To support this, we
2213         use a one-shot timer that calls show() in the next iteration of the run loop.
2214         (WebCore::Notification::Notification): Start the timer.
2215         (WebCore::Notification::showTaskTimerFired): Call show().
2216
2217         Notifications, not being attached to the DOM, could be GC'ed by the JS engine
2218         before its life cycle has completed. We add calls to setPendingActivity() when the
2219         notification has been shown, and when it is closed, we unsetPendingActivity().
2220         To guarantee that we only call this once, we add a new state to the Notification
2221         state machine, called NotificationState::Closed.
2222         (WebCore::Notification::show): Call setPendingActivity() for all ports. Remove conditional on Mac.
2223         (WebCore::Notification::close): Include Closed state to machine; do nothing.
2224         (WebCore::Notification::dispatchCloseEvent): Call finalize().
2225         (WebCore::Notification::finalize): If the state is not Closed, we unsetPendingActivity()
2226         to make it available for GC.
2227         (WebCore::Notification::finishLoading): Remove the unsetPendingActivity(). That call
2228         was to balance the setPendingActivity() called for loading the icon. Instead of wrapping
2229         around the icon load, we wrap around the show() -> finalize() loop.
2230
2231         In Notification, rename some of the stages and functions to more clearly communicate
2232         that they mostly deal with the icon of the notification, instead of general loading.
2233         (WebCore::Notification::show): Refactored to use LoadingIcon and CancelledIcon.
2234         (WebCore::Notification::close): Refactored to use LoadingIcon and CancelledIcon.
2235         (WebCore::Notification::~Notification): Refactor to use LoadingIcon.
2236         (WebCore::Notification::startLoadingIcon): Renamed from startLoading().
2237         (WebCore::Notification::stopLoadingIcon): Renamed from stopLoading().
2238         (WebCore::Notification::finishLoadingIcon): Renamed from finishLoading().
2239         (WebCore::Notification::didFinishLoading):
2240         (WebCore::Notification::didFail):
2241         (WebCore::Notification::didFailRedirectCheck):
2242         (WebCore::Notification::didReceiveResponse):
2243         (WebCore::Notification::finishLoading):
2244
2245         Add Dictionary.cpp.
2246         * GNUmakefile.list.am:
2247         * Target.pri:
2248         * UseJSC.cmake:
2249         * WebCore.gypi:
2250
2251         Fix bug in V8 bindings generation code. If the constructor doesn't raise an exception,
2252         don't use an exception code.
2253         * bindings/scripts/CodeGeneratorV8.pm:
2254         (GenerateParametersCheck):
2255         * bindings/scripts/test/V8/V8TestObj.cpp: Reset results.
2256         (WebCore::TestObjV8Internal::optionsObjectCallback):
2257
2258 2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
2259
2260         Support loading the same plugin in multiple locations in the Blackberry port.
2261         https://bugs.webkit.org/show_bug.cgi?id=84537
2262
2263         The hash for the plugin is only based upon the plugin meta information
2264         which will be the same for the same plugin in the system and user's
2265         plugin folders.
2266
2267         It looks like this code was copied/based on the windows port
2268         which doesn't allow the same plugin to be loaded more than once.
2269
2270         Because we want to support multiple copies of the same plugin
2271         in the blackberry port we want to incorperate the path of the plugin
2272         into the hash.
2273
2274         PR 150404
2275
2276         Reviewed by Adam Treat.
2277
2278         * plugins/blackberry/PluginPackageBlackBerry.cpp:
2279         (WebCore::PluginPackage::hash):
2280
2281 2012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
2282
2283         System plugins are preferred over application plugins
2284         https://bugs.webkit.org/show_bug.cgi?id=84538
2285
2286         Set the preferred paths for plugins so that plugins that reside
2287         inside of the bar will be preferred over plugins that are in the
2288         system folder.
2289
2290         PR 150404
2291
2292         Reviewed by Adam Treat.
2293
2294         * plugins/PluginDatabase.cpp:
2295         (WebCore::PluginDatabase::isPreferredPluginDirectory):
2296
2297 2012-04-21  Darin Adler  <darin@apple.com>
2298
2299         Improve performance of removing user and password from URLs
2300         https://bugs.webkit.org/show_bug.cgi?id=84525
2301
2302         Reviewed by Dan Bernstein.
2303
2304         Performance improvement only. Correctness covered by existing regression tests.
2305
2306         The most common use of KURL::setUser and KURL::setPass, by far, is to remove
2307         the user and password from a URL that already has neither. Optimize this by
2308         not re-parsing the URL in that case.
2309
2310         * platform/KURL.cpp:
2311         (WebCore::KURL::setUser): Restructure code so that the code path that removes
2312         the user does no work when there is nothing to remove. Otherwise, leave the
2313         logic of the function untouched.
2314         (WebCore::KURL::setPass): Same thing, only for password rather than user.
2315
2316 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2317
2318         Unreviewed, rolling out r114768.
2319         http://trac.webkit.org/changeset/114768
2320         https://bugs.webkit.org/show_bug.cgi?id=84521
2321
2322         Original patch was not the problem, re-applying (Requested by
2323         pfeldman_ on #webkit).
2324
2325         * bindings/v8/V8IsolatedContext.cpp:
2326         (WebCore::setInjectedScriptContextDebugId):
2327         (WebCore):
2328         (WebCore::V8IsolatedContext::V8IsolatedContext):
2329         * bindings/v8/V8Proxy.cpp:
2330         (WebCore::V8Proxy::evaluateInIsolatedWorld):
2331         * bindings/v8/V8Proxy.h:
2332         (V8Proxy):
2333
2334 2012-04-20  Adrienne Walker  <enne@google.com>
2335
2336         [chromium] Refactor opaque content transform out of Skia context
2337         https://bugs.webkit.org/show_bug.cgi?id=83608
2338
2339         Reviewed by James Robinson.
2340
2341         Having PlatformContextSkia know about the transform into content space
2342         for a layer is a layering violation. This change lets the
2343         PlatformContextSkia deal with opaque rects in its own space and lets
2344         the caller handle transforming it into its own space. This also
2345         prevents a matrix multiply per draw into the Skia canvas and does it
2346         just once at the end to transform the final rect.
2347
2348         This is an incremental refactoring so that additional tracking for
2349         text rects can be added and use the same space as opaque rects.
2350
2351         Tests: LayerTextureUpdaterTest.testPartialOpaqueRectNoTransform
2352                LayerTextureUpdaterTest.testPartialOpaqueRectTranslation
2353                LayerTextureUpdaterTest.testPartialOpaqueRectScale
2354
2355         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
2356         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
2357         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
2358         (BitmapCanvasLayerTextureUpdater):
2359         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
2360         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
2361         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
2362         (BitmapSkPictureCanvasLayerTextureUpdater):
2363         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
2364         (WebCore::CanvasLayerTextureUpdater::paintContents):
2365         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
2366         (CanvasLayerTextureUpdater):
2367         * platform/graphics/chromium/LayerTextureUpdater.h:
2368         (WebCore::LayerTextureUpdater::prepareToUpdate):
2369         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
2370         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
2371         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
2372         (SkPictureCanvasLayerTextureUpdater):
2373         * platform/graphics/chromium/TiledLayerChromium.cpp:
2374         (WebCore::TiledLayerChromium::updateTiles):
2375         * platform/graphics/skia/OpaqueRegionSkia.cpp:
2376         (WebCore::OpaqueRegionSkia::didDrawRect):
2377         (WebCore::OpaqueRegionSkia::didDrawPath):
2378         (WebCore::OpaqueRegionSkia::didDrawPoints):
2379         (WebCore::OpaqueRegionSkia::didDrawBounded):
2380         (WebCore::OpaqueRegionSkia::didDraw):
2381         * platform/graphics/skia/OpaqueRegionSkia.h:
2382         (OpaqueRegionSkia):
2383         * platform/graphics/skia/PlatformContextSkia.cpp:
2384         (WebCore::PlatformContextSkia::didDrawRect):
2385         (WebCore::PlatformContextSkia::didDrawPath):
2386         (WebCore::PlatformContextSkia::didDrawPoints):
2387         (WebCore::PlatformContextSkia::didDrawBounded):
2388         * platform/graphics/skia/PlatformContextSkia.h:
2389         (PlatformContextSkia):
2390
2391 2012-04-20  Enrica Casucci  <enrica@apple.com>
2392
2393         CRASH at WebCore::ReplaceSelectionCommand::removeRedundantMarkup
2394         https://bugs.webkit.org/show_bug.cgi?id=84518
2395         <rdar://problem/10714790>
2396
2397         Reviewed by Simon Fraser.
2398
2399         There are cases where the m_lastNodeInserted is NULL to begin with or
2400         gets deleted by removeRedundantStylesAndKeepStyleSpanInline.
2401         This change handles those cases properly.
2402         
2403         Tests: editing/pasteboard/paste-sanitize-crash-1.html
2404                editing/pasteboard/paste-sanitize-crash-2.html
2405
2406         * editing/ReplaceSelectionCommand.h:
2407         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
2408         * editing/SimplifyMarkupCommand.cpp:
2409         (WebCore::SimplifyMarkupCommand::doApply):
2410
2411 2012-04-20  Michael Nordman  <michaeln@google.com>
2412
2413         [chromium] Tiny change to DomStorage v8 bindings to avoid a relatively expensive test in a couple
2414         of places by reordering the expressions in compound conditions, if (fastTest && moreExpensiveTest)
2415         https://bugs.webkit.org/show_bug.cgi?id=84500
2416
2417         Reviewed by Kentaro Hara.
2418
2419         No new tests, no new functionality.
2420
2421         * bindings/v8/custom/V8StorageCustom.cpp:
2422         (WebCore::storageGetter):
2423         (WebCore::V8Storage::namedPropertyQuery):
2424
2425 2012-04-20  Dan Bernstein  <mitz@apple.com>
2426
2427         REGRESSION (r114784): svg/text/foreignObject-text-clipping-bug.xml failing on Mountain Lion Debug Tests
2428         https://bugs.webkit.org/show_bug.cgi?id=84505
2429
2430         Reviewed by Anders Carlsson.
2431
2432         * rendering/RenderBlock.cpp:
2433         (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Changed to not assume that boxes only
2434         have boxes as siblings.
2435
2436 2012-04-20  Dana Jansens  <danakj@chromium.org>
2437
2438         [chromium] Remove special case for recreating layers during sync
2439         https://bugs.webkit.org/show_bug.cgi?id=84458
2440
2441         Reviewed by James Robinson.
2442
2443         We no longer delete layers on the impl side, unless it is due to
2444         deleting the layer on webkit side. So we will no longer have a
2445         situation where we need to push properties from an old
2446         LayerChromium to a new CCLayerImpl.
2447
2448         * platform/graphics/chromium/TreeSynchronizer.cpp:
2449         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
2450
2451 2012-04-20  Dana Jansens  <danakj@chromium.org>
2452
2453         [chromium] WebFilterOperations API does not compile or dynamically link
2454         https://bugs.webkit.org/show_bug.cgi?id=84506
2455
2456         Reviewed by James Robinson.
2457
2458         Non-inline functions need WEBKIT_EXPORT in their declarations,
2459         and the type used in the WebPrivateOwnPtr needs to be forward-
2460         declared even when WEBKIT_IMPLEMENTATION is not defined.
2461
2462         * platform/chromium/support/WebFilterOperations.cpp:
2463         (WebKit::WebFilterOperations::initialize):
2464
2465 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2466
2467         Unreviewed, rolling out r114333.
2468         http://trac.webkit.org/changeset/114333
2469         https://bugs.webkit.org/show_bug.cgi?id=84511
2470
2471         perf regression (Requested by morrita on #webkit).
2472
2473         * dom/Node.cpp:
2474         * dom/Node.h:
2475         (WebCore):
2476         (Node):
2477         (WebCore::Node::isElementNode):
2478         (WebCore::Node::isContainerNode):
2479         (WebCore::Node::isTextNode):
2480         (WebCore::Node::isHTMLElement):
2481         (WebCore::Node::isSVGElement):
2482         (WebCore::Node::isStyledElement):
2483         (WebCore::Node::isShadowRoot):
2484         (WebCore::Node::parentNode):
2485         (WebCore::Node::parentNodeGuaranteedHostFree):
2486
2487 2012-04-20  Alec Flett  <alecflett@chromium.org>
2488
2489         IndexedDB: Support get/getKey(keyRange)
2490         https://bugs.webkit.org/show_bug.cgi?id=83638
2491
2492         Reviewed by Ojan Vafai.
2493
2494         Support IDBKeyRange as a parameter to all the various get/getKey 
2495         combinations. Switches the existing get/getKey versions that use 
2496         IDBKey directly to start using IDBKeyRange.only(). 
2497
2498         Test: storage/indexeddb/get-keyrange.html
2499
2500         * Modules/indexeddb/IDBIndex.cpp:
2501         (WebCore::IDBIndex::get):
2502         (WebCore):
2503         (WebCore::IDBIndex::getKey):
2504         * Modules/indexeddb/IDBIndex.h:
2505         (IDBIndex):
2506         * Modules/indexeddb/IDBIndex.idl:
2507         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2508         (WebCore::IDBIndexBackendImpl::getInternal):
2509         (WebCore):
2510         (WebCore::IDBIndexBackendImpl::getByRangeInternal):
2511         (WebCore::IDBIndexBackendImpl::getKeyInternal):
2512         (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
2513         (WebCore::IDBIndexBackendImpl::get):
2514         (WebCore::IDBIndexBackendImpl::getKey):
2515         * Modules/indexeddb/IDBIndexBackendImpl.h:
2516         (IDBIndexBackendImpl):
2517         * Modules/indexeddb/IDBIndexBackendInterface.h:
2518         (IDBIndexBackendInterface):
2519         * Modules/indexeddb/IDBObjectStore.cpp:
2520         (WebCore::IDBObjectStore::get):
2521         (WebCore):
2522         * Modules/indexeddb/IDBObjectStore.h:
2523         (IDBObjectStore):
2524         * Modules/indexeddb/IDBObjectStore.idl:
2525         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2526         (WebCore):
2527         (WebCore::IDBObjectStoreBackendImpl::get):
2528         (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
2529         (WebCore::IDBObjectStoreBackendImpl::getInternal):
2530         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
2531         (IDBObjectStoreBackendImpl):
2532         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
2533         (IDBObjectStoreBackendInterface):
2534
2535 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2536
2537         Unreviewed, rolling out r114789.
2538         http://trac.webkit.org/changeset/114789
2539         https://bugs.webkit.org/show_bug.cgi?id=84515
2540
2541         Caused 5 tests to fail on mac/ (Requested by jernoble on
2542         #webkit).
2543
2544         * css/CSSPrimitiveValueMappings.h:
2545         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2546         * css/CSSValueKeywords.in:
2547         * platform/ThemeTypes.h:
2548         * rendering/RenderTheme.cpp:
2549         (WebCore::RenderTheme::paint):
2550
2551 2012-04-20  Brady Eidson  <beidson@apple.com>
2552
2553         https://bugs.webkit.org/show_bug.cgi?id=84512
2554         Repurpose ActiveDOMObject::WillShowDialog to WillDeferLoading
2555
2556         Reviewed by Eric Carlson.
2557
2558         No new tests. (Refactor, no behavior change)
2559
2560         Rename WillShowDialog to WillDeferLoading:
2561         * dom/ActiveDOMObject.h:
2562         * html/HTMLMediaElement.cpp:
2563         (WebCore::HTMLMediaElement::suspend):
2564
2565         Don't take a ReasonForSuspension argument anymore, just use WillDeferLoading:
2566         * page/PageGroupLoadDeferrer.cpp:
2567         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2568         * page/PageGroupLoadDeferrer.h:
2569
2570         Don't pass a Reason anymore as WillDeferLoading is used by default:
2571         * page/Chrome.cpp:
2572         (WebCore::Chrome::runModal):
2573         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
2574         (WebCore::Chrome::runJavaScriptAlert):
2575         (WebCore::Chrome::runJavaScriptConfirm):
2576         (WebCore::Chrome::runJavaScriptPrompt):
2577         (WebCore::Chrome::shouldInterruptJavaScript):
2578
2579 2012-04-20  James Robinson  <jamesr@chromium.org>
2580
2581         [chromium] Plumb a compositor surface ready notification through to the threaded compositor
2582         https://bugs.webkit.org/show_bug.cgi?id=84305
2583
2584         Reviewed by Adrienne Walker.
2585
2586         Plumb setSurfaceReady through to the scheduler.
2587
2588         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2589         (WebCore::CCLayerTreeHost::setSurfaceReady):
2590         (WebCore):
2591         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2592         (CCLayerTreeHost):
2593         * platform/graphics/chromium/cc/CCProxy.h:
2594         (CCProxy):
2595         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2596         (WebCore::CCSingleThreadProxy::setSurfaceReady):
2597         (WebCore):
2598         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2599         (CCSingleThreadProxy):
2600         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2601         (WebCore::CCThreadProxy::setSurfaceReady):
2602         (WebCore):
2603         (WebCore::CCThreadProxy::setSurfaceReadyOnImplThread):
2604         (WebCore::CCThreadProxy::initializeImplOnImplThread):
2605         * platform/graphics/chromium/cc/CCThreadProxy.h:
2606         (CCThreadProxy):
2607
2608 2012-04-20  Mark Pilgrim  <pilgrim@chromium.org>
2609
2610         [Chromium] Call memoryUsageMB directly
2611         https://bugs.webkit.org/show_bug.cgi?id=84376
2612
2613         Reviewed by Kentaro Hara.
2614
2615         Now that memoryUsageMB has been moved from PlatformSupport.h to
2616         Platform.h, we need to be able to call it directly
2617         from WebCore/bindings/v8/V8GCController.cpp.
2618         That means we need a new MemoryUsageSupport class in
2619         WebCore/platform/ and an implementation in
2620         WebCore/platform/chromium/MemoryUsageSupportChromium.cpp.
2621         Other ports are welcome to implement their memory usage
2622         functions if they wish. This pattern was based on the
2623         HistogramSupport/HistogramSupportChromium classes.
2624
2625         Part of a refactoring series. See tracking bug 82948.
2626
2627         * CMakeLists.txt:
2628         * GNUmakefile.list.am:
2629         * Target.pri:
2630         * WebCore.gypi:
2631         * WebCore.vcproj/WebCore.vcproj:
2632         * WebCore.xcodeproj/project.pbxproj:
2633         * bindings/v8/V8GCController.cpp:
2634         (WebCore):
2635         * platform/MemoryUsageSupport.cpp: Added.
2636         (WebCore):
2637         (WebCore::MemoryUsageSupport::memoryUsageMB):
2638         * platform/MemoryUsageSupport.h: Added.
2639         (WebCore):
2640         (MemoryUsageSupport):
2641         * platform/chromium/MemoryUsageSupportChromium.cpp: Added.
2642         (WebCore):
2643         (WebCore::MemoryUsageSupport::memoryUsageMB):
2644         * platform/chromium/PlatformSupport.h:
2645         (PlatformSupport):
2646
2647 2012-04-20  Anders Carlsson  <andersca@apple.com>
2648
2649         Re-land. The non-fast scrollable region is now always updated after layout, and frameViewScrollableAreasDidChange has been removed.
2650
2651         computeNonFastScrollableRegion needs to traverse the entire frame tree
2652         https://bugs.webkit.org/show_bug.cgi?id=84409
2653         <rdar://problem/11285741>
2654
2655         Reviewed by Dan Bernstein.
2656
2657         Now that scrollable areas won't be in the set of scrollable areas unless they are actually scrollable, we need to look for scrollable
2658         areas in the entire frame tree since there can be a scrollable frame that's a subframe of a non-scrollable frame for example.
2659
2660         * page/scrolling/ScrollingCoordinator.cpp:
2661         (WebCore::computeNonFastScrollableRegion):
2662         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
2663
2664 2012-04-20  Adrienne Walker  <enne@google.com>
2665
2666         [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
2667         https://bugs.webkit.org/show_bug.cgi?id=84289
2668
2669         Reviewed by James Robinson.
2670
2671         TransparencyWin will create a Skia canvas of whatever size is passed
2672         in, even if the result will ultimately be clipped. Handle the clip
2673         implicitly and try (in some cases) to create a smaller canvas. This
2674         can happen due to RenderBox::paintBoxDecorations passing a paint rect
2675         down of the entire element's size.
2676
2677         Modes with more complicated transforms (ScaleTransform, UnTransform)
2678         are not handled yet.
2679
2680         Tests: TransparencyWin.ClippedKeepTransformNoLayer
2681                TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
2682                TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer
2683
2684         * platform/graphics/chromium/TransparencyWin.cpp:
2685         (WebCore::TransparencyWin::computeLayerSize):
2686
2687 2012-04-04  Jer Noble  <jer.noble@apple.com>
2688
2689         apple.com top navigation bar appears inside video during full screen exit animation
2690         https://bugs.webkit.org/show_bug.cgi?id=83095
2691
2692         Reviewed by Eric Carlson.
2693
2694         Test: fullscreen/full-screen-exit-animation-stacking-context.html
2695
2696         Only tell ancestors of the full screen element that they are no longer ancestors once
2697         the full screen animation is complete:
2698         * dom/Document.cpp:
2699         (WebCore::Document::webkitWillExitFullScreenForElement):
2700         (WebCore::Document::webkitDidExitFullScreenForElement):
2701
2702         To facilitate writing reproducible LayoutTests, expose webkitWill/Did/Enter/ExitFullScreen
2703         from the Internals object, so scripts can call them explicitly:
2704         * testing/Internals.cpp:
2705         (WebCore::Internals::webkitWillEnterFullScreenForElement): Call the Document equivalent.
2706         (WebCore::Internals::webkitDidEnterFullScreenForElement): Ditto.
2707         (WebCore::Internals::webkitWillExitFullScreenForElement): Ditto.
2708         (WebCore::Internals::webkitDidExitFullScreenForElement): Ditto.
2709         * testing/Internals.h:
2710         * testing/Internals.idl:
2711
2712 2012-04-17  Jer Noble  <jer.noble@apple.com>
2713
2714         media-exit-fullscreen-button (and related enums) is unnecessary and should be removed.
2715         https://bugs.webkit.org/show_bug.cgi?id=84162
2716
2717         Reviewed by Eric Carlson.
2718
2719         No new tests; no change in functionality so covered by existing tests.
2720
2721         Remove the media-exit-fullscreen-button keyword, and rename media-enter-fullscreen-button to
2722         media-fullscreen-button.
2723
2724         * css/CSSPrimitiveValueMappings.h:
2725         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2726         * css/CSSValueKeywords.in:
2727         * css/mediaControls.css:
2728         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2729         * platform/ThemeTypes.h:
2730         * rendering/RenderTheme.cpp:
2731         (WebCore::RenderTheme::paint):
2732
2733 2012-04-20  Alexandre Elias  <aelias@google.com>
2734
2735         [chromium] Fix compile errors when DEBUG_GL_CALLS is enabled
2736         https://bugs.webkit.org/show_bug.cgi?id=84491
2737
2738         Reviewed by Ojan Vafai.
2739
2740         DEBUG_GL_CALLS had not been used in a while and the mode no longer
2741         compiled when I tried it.  I improved the GLC macro to support either
2742         raw pointers or RefPtrs, and to be a single expression in order to
2743         interact properly with if/else blocks.  I fixed the cases where we
2744         were passing in the "context" method pointer by mistake, and removed the
2745         now-unnecessary "get()" calls for the RefPtrs.
2746
2747         No new tests. (No-op change in release builds.)
2748
2749         * platform/graphics/chromium/LayerRendererChromium.cpp:
2750         (WebCore::LayerRendererChromium::initialize):
2751         (WebCore::LayerRendererChromium::clearRenderSurface):
2752         (WebCore::LayerRendererChromium::beginDrawingFrame):
2753         (WebCore::LayerRendererChromium::doNoOp):
2754         (WebCore::LayerRendererChromium::drawQuad):
2755         (WebCore::LayerRendererChromium::drawTextureQuad):
2756         (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
2757         (WebCore::LayerRendererChromium::finishDrawingFrame):
2758         (WebCore::LayerRendererChromium::useRenderSurface):
2759         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
2760         (WebCore::LayerRendererChromium::setScissorToRect):
2761         (WebCore::LayerRendererChromium::setDrawViewportRect):
2762         (WebCore::LayerRendererChromium::initializeSharedObjects):
2763         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2764         * platform/graphics/chromium/LayerRendererChromium.h:
2765         (WebCore):
2766
2767 2012-04-20  Anders Carlsson  <andersca@apple.com>
2768
2769         Fix build.
2770
2771         * page/scrolling/ScrollingCoordinator.cpp:
2772         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
2773
2774 2012-04-19  Simon Fraser  <simon.fraser@apple.com>
2775
2776         Set m_compositingDependsOnGeometry to false if possible
2777         https://bugs.webkit.org/show_bug.cgi?id=84391
2778
2779         Reviewed by James Robinson.
2780         
2781         For some kinds of elements, RenderLayerCompositor has to delay decisions about
2782         compositing until the element's size and/or position are known. This was previsouly
2783         based on the confusingly named m_compositingDependsOnGeometry flag, but another
2784         variant of the same technique, with an additional flag m_compositingNeedsUpdate,
2785         was added in r98627.
2786         
2787         Also, once the m_compositingDependsOnGeometry flag was set to true, nothing
2788         set it to false, so every compositing layer update resulted in a computeCompositingRequirements()
2789         pass over the layers.
2790         
2791         Rename the m_compositingDependsOnGeometry flag to m_reevaluateCompositingAfterLayout,
2792         and clear the flag when we do a layout-related compositing layer update.
2793         Use the same flag for position:fixed compositing.
2794         
2795         This requires RenderLayerCompositor to distinguish between style- and layout-
2796         related updates, requiring some minor refactoring in FrameView.
2797
2798         Should not change behavior.
2799         
2800         * dom/Document.cpp:
2801         (WebCore::Document::recalcStyle):
2802         (WebCore::Document::implicitClose):
2803         * page/FrameView.cpp:
2804         (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
2805         (WebCore::FrameView::updateCompositingLayersAfterLayout):
2806         (WebCore::FrameView::restoreBackingStores):
2807         (WebCore::FrameView::layout):
2808         * page/FrameView.h:
2809         (FrameView):
2810         * rendering/RenderLayerCompositor.cpp:
2811         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2812         (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
2813         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2814         (WebCore::RenderLayerCompositor::layerTreeAsText):
2815         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
2816         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
2817         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2818         * rendering/RenderLayerCompositor.h:
2819         (RenderLayerCompositor):
2820
2821 2012-04-20  Dan Bernstein  <mitz@apple.com>
2822
2823         <rdar://problem/10786000> Selection highlights of lines in adjoining blocks can overlap
2824         https://bugs.webkit.org/show_bug.cgi?id=84489
2825
2826         Reviewed by Anders Carlsson.
2827
2828         Test: fast/block/line-layout/selection-highlight-overlap.html
2829
2830         * rendering/EllipsisBox.cpp:
2831         (WebCore::EllipsisBox::selectionRect): Changed to use
2832         selection{Top,Height}AdjustedForPrecedingBlock().
2833         * rendering/InlineTextBox.cpp:
2834         (WebCore::InlineTextBox::paintSelection): Ditto.
2835         * rendering/RenderBlock.cpp:
2836         (WebCore::RenderBlock::inlineSelectionGaps): Ditto.
2837         (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Added. Returns the block which is
2838         likely to contain the selected line just before the first line in this block, if it is
2839         within the same selection root.
2840         * rendering/RenderBlock.h:
2841         * rendering/RootInlineBox.cpp:
2842         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock): Added. If the selection
2843         starts before our block, finds the last line in the preceding block and adjusts the selection
2844         top to avoid overlap with that line’s selection bottom.
2845         * rendering/RootInlineBox.h:
2846         (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock): Added. Like
2847         selectionHeight(), but uses selectionTopAdjustedForPrecedingBlock().
2848
2849 2012-04-20  Xianzhu Wang  <wangxianzhu@chromium.org>
2850
2851         Crash in getOrDrawNodeHighlight after r114659
2852         https://bugs.webkit.org/show_bug.cgi?id=84486
2853
2854         Reviewed by Daniel Bates.
2855
2856         No new tests. Fixes a crash in test: inspector/elements/elements-panel-selection-on-refresh.html.
2857
2858         * inspector/DOMNodeHighlighter.cpp:
2859
2860 2012-04-20  Brady Eidson  <beidson@apple.com>
2861
2862         https://bugs.webkit.org/show_bug.cgi?id=84490
2863         PageGroupLoadDeferrer needs to take a ReasonForSuspension argument
2864
2865         Reviewed by Anders Carlsson.
2866
2867         No new tests. (Refactor, no change in behavior)
2868
2869         - Make PageGroupLoadDeferrer take a ReasonForSuspension argument so it can pass it along.
2870         * page/PageGroupLoadDeferrer.cpp:
2871         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2872         * page/PageGroupLoadDeferrer.h:
2873
2874         - Change suspendScheduledTasks to take a ReasonForSuspension.
2875         - As long as we're changing Document.h, add a m_suspendedScheduledTasks flag and some
2876           ASSERTs to catch what would be epically wrong behavior in the future.
2877         * dom/Document.cpp:
2878         (WebCore::Document::Document):
2879         (WebCore::Document::suspendScheduledTasks):
2880         (WebCore::Document::resumeScheduledTasks):
2881         * dom/Document.h:
2882
2883         - Pass ActiveDOMObject::WillShowDialog along to all PageGroupLoadDeferrers, as it used
2884           to be the default behavior
2885         * page/Chrome.cpp:
2886         (WebCore::Chrome::runModal):
2887         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
2888         (WebCore::Chrome::runJavaScriptAlert):
2889         (WebCore::Chrome::runJavaScriptConfirm):
2890         (WebCore::Chrome::runJavaScriptPrompt):
2891         (WebCore::Chrome::shouldInterruptJavaScript):
2892
2893 2012-04-20  Anders Carlsson  <andersca@apple.com>
2894
2895         Scrolling after going to a find-in-page result jumps to the top of the page
2896         https://bugs.webkit.org/show_bug.cgi?id=84485
2897         <rdar://problem/11273734>
2898
2899         Reviewed by Beth Dakin.
2900
2901         If we're both updating the requested scroll position and entering slow mode in the same commit, the
2902         probable main thread scroll position should be the requested scroll position.
2903
2904         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2905         (WebCore::ScrollingTreeNodeMac::update):
2906
2907 2012-04-20  James Robinson  <jamesr@chromium.org>
2908
2909         Avoid synchronously recalculating the nonFastScrollableRegion when the ScrollableArea set changes
2910         https://bugs.webkit.org/show_bug.cgi?id=84470
2911
2912         Reviewed by Anders Carlsson.
2913
2914         When a scrollable area is added or removed, we shouldn't recalculate the nonFastScrollableRegion synchronously
2915         since this is slow, the RenderObject tree might not be in an up-to-date state, and we'll typically do layout
2916         soon anyway.
2917
2918         * page/FrameView.cpp:
2919         (WebCore::FrameView::addScrollableArea):
2920         (WebCore::FrameView::removeScrollableArea):
2921         * page/scrolling/ScrollingCoordinator.cpp:
2922         * page/scrolling/ScrollingCoordinator.h:
2923         (ScrollingCoordinator):
2924
2925 2012-04-20  Emil A Eklund  <eae@chromium.org>
2926
2927         Fix use of LayoutUnits in DOMNodeHighlighter
2928         https://bugs.webkit.org/show_bug.cgi?id=84472
2929
2930         Reviewed by Eric Seidel.
2931
2932         Fix use of subpixel units and rounding in new code introduced in r114659.
2933
2934         No new tests, no change in functionality.
2935
2936         * inspector/DOMNodeHighlighter.cpp:
2937
2938 2012-04-17  Antonio Gomes  <agomes@rim.com>
2939
2940         Relax ScrollView::adjustScrollPositionWithinRange in case constrainsScrollingToContentEdge is false
2941         https://bugs.webkit.org/show_bug.cgi?id=84178
2942
2943         Reviewed by Adam Treat.
2944
2945         No new tests since it is not easily testable.
2946
2947         When a port has both delegatesScrolling and constrainsScrollingToContentEdge set to FALSE
2948         (i.e. it accepts overscrolled position), calling ScrollView::setScrollPosition with an overscrolled
2949         position still gets the position clamped to the content size edges.
2950
2951         Patch relaxes ::adjustScrollPositionWithinRange in that sense in order to track the actual scroll
2952         position.
2953
2954         Note: ScrollView::setScrollOffset already does something similar.
2955
2956         * platform/ScrollView.cpp:
2957         (WebCore::ScrollView::adjustScrollPositionWithinRange):
2958
2959 2012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2960
2961         Unreviewed, rolling out r114535.
2962         http://trac.webkit.org/changeset/114535
2963         https://bugs.webkit.org/show_bug.cgi?id=84475
2964
2965         It might have caused V8 crashes. (Requested by pfeldman_ on
2966         #webkit).
2967
2968         * bindings/v8/V8IsolatedContext.cpp:
2969         (WebCore::V8IsolatedContext::V8IsolatedContext):
2970         * bindings/v8/V8Proxy.cpp:
2971         (WebCore::V8Proxy::evaluateInIsolatedWorld):
2972         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2973         (WebCore):
2974         * bindings/v8/V8Proxy.h:
2975         (V8Proxy):
2976
2977 2012-04-20  Dean Jackson  <dino@apple.com>
2978
2979         -webkit-filter missing from computed style enumeration
2980         https://bugs.webkit.org/show_bug.cgi?id=84468
2981
2982         Reviewed by Timothy Hatcher.
2983         
2984         CSSComputedStyleDeclaration has a list of properties that it exposes.
2985         While the computed style for filter was available, the property wasn't
2986         listed and hence missing in clients like the Web Inspector.
2987
2988         Covered by existing tests.
2989
2990         * css/CSSComputedStyleDeclaration.cpp:
2991         (WebCore): add CSSPropertyWebkitFilter
2992
2993 2012-04-20  Emil A Eklund  <eae@chromium.org>
2994
2995         [win] Update windows platform code to use pixel snapped values
2996         https://bugs.webkit.org/show_bug.cgi?id=84283
2997
2998         Reviewed by Eric Seidel.
2999
3000         No new tests, no change in functionality.
3001
3002         * accessibility/AccessibilityObject.h:
3003         (WebCore::AccessibilityObject::pixelSnappedElementRect):
3004         Use pixel snapped values when computing screenRect.
3005         
3006         * platform/win/PopupMenuWin.cpp:
3007         (WebCore::PopupMenuWin::calculatePositionAndSize):
3008         (WebCore::PopupMenuWin::paint):
3009         Cast client padding to ints as they are guaranteed to align with device pixels.
3010
3011 2012-04-20  Dana Jansens  <danakj@chromium.org>
3012
3013         [chromium] Some filters require inflating damage rect in CCDamageTracker
3014         https://bugs.webkit.org/show_bug.cgi?id=84373
3015
3016         Reviewed by James Robinson.
3017
3018         When a layer is blurred, damaged pixels are blurred out into a radius
3019         and their damage should be expanded to include total blurred region.
3020
3021         Unit test: CCDamageTrackerTest.verifyDamageForBlurredSurface
3022
3023         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3024         (WebCore::CCDamageTracker::updateDamageTrackingState):
3025         (WebCore::CCDamageTracker::expandDamageRectWithForegroundFilters):
3026         (WebCore):
3027         * platform/graphics/chromium/cc/CCDamageTracker.h:
3028         (WebCore):
3029         (CCDamageTracker):
3030         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3031         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
3032
3033 2012-04-20  Sami Kyostila  <skyostil@chromium.org>
3034
3035         [chromium] Don't crash when scrolling empty layer tree
3036         https://bugs.webkit.org/show_bug.cgi?id=84455
3037
3038         Reviewed by James Robinson.
3039
3040         Do not try to calculate render passes when there are no layers in the
3041         layer tree.
3042
3043         Added new unit test.
3044
3045         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3046         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3047
3048 2012-04-20  Victor Carbune  <vcarbune@adobe.com>
3049
3050         Ensure text is centered for default captions
3051         https://bugs.webkit.org/show_bug.cgi?id=84450
3052
3053         Reviewed by Eric Carlson.
3054
3055         Updated existing test.
3056
3057         * html/track/TextTrackCue.cpp:
3058         (WebCore::TextTrackCue::getDisplayTree): Added default width.
3059
3060 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
3061
3062         Web Inspector: open file dialog is not centered.
3063         https://bugs.webkit.org/show_bug.cgi?id=84464
3064
3065         Reviewed by Yury Semikhatsky.
3066
3067         There was an error in the positioning logic.
3068
3069         * inspector/front-end/FilteredItemSelectionDialog.js:
3070         (WebInspector.FilteredItemSelectionDialog.prototype.position):
3071
3072 2012-04-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3073
3074         [Qt] PlatformMouseEventQt.cpp should be deleted.
3075         https://bugs.webkit.org/show_bug.cgi?id=84437
3076
3077         Reviewed by Kenneth Rohde Christiansen.
3078
3079         * platform/qt/PlatformMouseEventQt.cpp: Removed.
3080
3081 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
3082
3083         Web Inspector: follow up to r114729: more @return annotations added.
3084         https://bugs.webkit.org/show_bug.cgi?id=84447
3085
3086         Reviewed by Yury Semikhatsky.
3087
3088         * inspector/front-end/Resource.js:
3089         (WebInspector.Resource):
3090         (WebInspector.ResourceRevision.prototype.get content):
3091         * inspector/front-end/ResourceTreeModel.js:
3092         (WebInspector.ResourceTreeFrame.prototype._addRequest):
3093         * inspector/front-end/ResourceUtils.js:
3094         (String.prototype.asParsedURL):
3095
3096 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
3097
3098         Web Inspector: migrate from ScriptsNavigator to NavigatorView in the Styles panel
3099         https://bugs.webkit.org/show_bug.cgi?id=84459
3100
3101         Reviewed by Yury Semikhatsky.
3102
3103         Now that NavigatorView has all the functionality we need, we can use it.
3104
3105         * inspector/front-end/NavigatorView.js:
3106         (WebInspector.NavigatorScriptTreeElement.prototype.ondblclick):
3107         * inspector/front-end/ScriptsNavigator.js:
3108         (WebInspector.ScriptsNavigator):
3109         * inspector/front-end/StylesPanel.js:
3110         (WebInspector.StylesPanel):
3111         (WebInspector.StylesPanel.prototype._resourceAdded):
3112         (WebInspector.StylesPanel.prototype._reset):
3113         (WebInspector.StylesPanel.prototype._itemSelected):
3114         (WebInspector.StylesPanel.prototype._showFile):
3115         * inspector/front-end/navigatorView.css:
3116         (.navigator-tabbed-pane .tabbed-pane-content):
3117         (.navigator-tabbed-pane .navigator-container):
3118         (.navigator-tabbed-pane .navigator):
3119         (.navigator-tabbed-pane .tabbed-pane-header):
3120         (.navigator-tabbed-pane .tabbed-pane-header-contents):
3121         * inspector/front-end/scriptsPanel.css:
3122
3123 2012-04-20  Sam D  <dsam2912@gmail.com>
3124
3125         Web Inspector: Does not have search navigation button for going through matches in either direction (prev, next)
3126         https://bugs.webkit.org/show_bug.cgi?id=84235
3127
3128         Added buttons for navigating on seiarch matches in inspector panel
3129         through button clicks as well. 
3130
3131         Reviewed by Pavel Feldman.
3132
3133         No new tests / ux enhanced for search functionality
3134
3135         * English.lproj/localizedStrings.js:
3136         * WebCore.gypi:
3137         * inspector/front-end/Images/searchNext.png: Added.
3138         * inspector/front-end/Images/searchPrev.png: Added.
3139         * inspector/front-end/SearchController.js:
3140         (WebInspector.SearchController):
3141         (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
3142         (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
3143         (WebInspector.SearchController.prototype._onNextButtonSearch):
3144         (WebInspector.SearchController.prototype._onPrevButtonSearch):
3145         (WebInspector.SearchController.prototype._performSearch):
3146         (WebInspector.SearchController.prototype._createSearchNavigationButton):
3147         (WebInspector.SearchController.prototype._populateSearchNavigationButtons):
3148         * inspector/front-end/WebKit.qrc:
3149         * inspector/front-end/inspector.css:
3150         (.toolbar-search-item):
3151         (#search):
3152         (#toolbar-search-navigation-control):
3153         (.toolbar-search-navigation-label):
3154         (.toolbar-search-navigation-label:hover):
3155         (.toolbar-search-navigation-icon-prev , .toolbar-search-navigation-icon-next):
3156         (.toolbar-search-navigation-icon-prev):
3157         (.toolbar-search-navigation-icon-next):
3158         * inspector/front-end/inspector.html:
3159
3160 2012-04-20  Pavel Feldman  <pfeldman@chromium.org>
3161
3162         Web Inspector: extract NavigatorView and NavigatorOverlayController from ScriptsNavigator.
3163         https://bugs.webkit.org/show_bug.cgi?id=84441
3164
3165         Reviewed by Yury Semikhatsky.
3166
3167         - Moves NavigatorOverlayController out of ScriptsNavigator
3168         - Extracts NavigatorView from ScriptsNavigator and makes ScriptsNavigator contain 3 NavigatorView instances (one per tab)
3169         - Subclasses SnippetsNavigatorView and leaves it within ScriptsNavigator.
3170
3171         * WebCore.gypi:
3172         * WebCore.vcproj/WebCore.vcproj:
3173         * inspector/compile-front-end.py:
3174         * inspector/front-end/NavigatorOverlayController.js: Added.
3175         (WebInspector.NavigatorOverlayController.prototype.wasShown):
3176         (WebInspector.NavigatorOverlayController.prototype._createNavigatorControlButton):
3177         (WebInspector.NavigatorOverlayController.prototype._escDownWhileNavigatorOverlayOpen):
3178         (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
3179         (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
3180         (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
3181         (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
3182         (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
3183         (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
3184         * inspector/front-end/NavigatorView.js: Added.
3185         (WebInspector.NavigatorView):
3186         (WebInspector.NavigatorView.prototype._updateScriptTitle.get if):
3187         (WebInspector.NavigatorView.prototype._updateScriptTitle):
3188         (WebInspector.NavigatorView.prototype._scriptSelected):
3189         (WebInspector.NavigatorView.prototype._removeUISourceCode.get while):
3190         (WebInspector.NavigatorView.prototype._removeUISourceCode):
3191         (WebInspector.NavigatorView.prototype._showScriptFoldersSettingChanged):
3192         (WebInspector.NavigatorView.prototype._fileRenamed):
3193         (WebInspector.NavigatorView.prototype.rename.commitHandler):
3194         (WebInspector.NavigatorView.prototype.rename.cancelHandler):
3195         (WebInspector.NavigatorView.prototype.rename.afterEditing):
3196         (WebInspector.NavigatorView.prototype.reset):
3197         (WebInspector.NavigatorView.prototype.createFolderTreeElement):
3198         (WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
3199         (WebInspector.NavigatorView.prototype.handleContextMenu):
3200         (WebInspector.NavigatorTreeOutline):
3201         (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight):
3202         (WebInspector.NavigatorTreeOutline._treeElementsCompare):
3203         (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
3204         (WebInspector.NavigatorTreeOutline.prototype.searchStarted):
3205         (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
3206         (WebInspector.BaseNavigatorTreeElement):
3207         (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
3208         (WebInspector.BaseNavigatorTreeElement.prototype.onreveal):
3209         (WebInspector.BaseNavigatorTreeElement.prototype.get titleText):
3210         (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
3211         (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
3212         (WebInspector.NavigatorFolderTreeElement):
3213         (WebInspector.NavigatorFolderTreeElement.prototype.get folderIdentifier):
3214         (WebInspector.NavigatorFolderTreeElement.prototype.get isDomain):
3215         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
3216         (WebInspector.NavigatorScriptTreeElement):
3217         (WebInspector.NavigatorScriptTreeElement.prototype.get uiSourceCode):
3218         (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
3219         (WebInspector.NavigatorScriptTreeElement.prototype.onspace):
3220         (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
3221         (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
3222         (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
3223         * inspector/front-end/ScriptsNavigator.js:
3224         (WebInspector.ScriptsNavigator):
3225         (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
3226         (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
3227         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
3228         (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
3229         (WebInspector.ScriptsNavigator.prototype._scriptSelected):
3230         (WebInspector.ScriptsNavigator.prototype.reset):
3231         (WebInspector.SnippetsNavigatorView):
3232         (WebInspector.SnippetsNavigatorView.prototype.getOrCreateFolderTreeElement):
3233         (WebInspector.SnippetsNavigatorView.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
3234         (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
3235         (WebInspector.SnippetsNavigatorView.prototype._fileRenamed):
3236         * inspector/front-end/WebKit.qrc:
3237         * inspector/front-end/inspector.html:
3238         * inspector/front-end/navigatorView.css: Added.
3239         (.navigator-domain-tree-item .icon):
3240         (.navigator-folder-tree-item .icon):
3241         (.navigator-script-tree-item .icon):
3242         (.navigator li):
3243         (.navigator :focus li.selected):
3244         (.navigator li.selected .selection):
3245         (.navigator :focus li.selected .selection):
3246         (.navigator .search-match-found li.selected .selection):
3247         (.navigator .search-match-not-found li.selected .selection):
3248         (.navigator .searching li.selected .selection):
3249         (.navigator .icon):
3250         (.navigator .base-navigator-tree-element-title):
3251         (.navigator .base-navigator-tree-element-title.editing):
3252         (.navigator-tree-search-box):
3253         (.navigator-tree-search-box.visible):
3254         (.navigator-tree-search-box > input):
3255         * inspector/front-end/scriptsPanel.css:
3256
3257 2012-04-19  Pavel Feldman  <pfeldman@chromium.org>
3258
3259         Web Inspector: make ScriptNavigatorController use views only, rename to NavigatorOverlayController.
3260         https://bugs.webkit.org/show_bug.cgi?id=84352
3261
3262         Reviewed by Vsevolod Vlasov.
3263
3264         This change makes navigator controller use view interfaces only. Focus machinery has been refactored in order
3265         to make it possible: now all view ancestors can either override "focus" or "defaultFocusedElement" method
3266         with latter method being preferred.
3267
3268         * inspector/front-end/ElementsPanel.js:
3269         (WebInspector.ElementsPanel.prototype.defaultFocusedElement):
3270         * inspector/front-end/ExtensionPanel.js:
3271         (WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
3272         * inspector/front-end/Panel.js:
3273         (WebInspector.Panel.prototype.wasShown):
3274         (WebInspector.Panel.prototype.defaultFocusedElement):
3275         * inspector/front-end/ScriptsNavigator.js:
3276         (WebInspector.ScriptsNavigator):
3277         (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
3278         (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
3279         (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
3280         (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
3281         (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
3282         * inspector/front-end/ScriptsPanel.js:
3283         (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
3284         * inspector/front-end/SidebarOverlay.js:
3285         (WebInspector.SidebarOverlay.prototype.show):
3286         (WebInspector.SidebarOverlay.prototype.hide):
3287         * inspector/front-end/SourceFrame.js:
3288         (WebInspector.SourceFrame.prototype.defaultFocusedElement):
3289         * inspector/front-end/StylesPanel.js:
3290         (WebInspector.StylesPanel):
3291         * inspector/front-end/TabbedEditorContainer.js:
3292         (WebInspector.TabbedEditorContainer.prototype.get view):
3293         (WebInspector.TabbedEditorContainer.prototype.get visibleView):
3294         * inspector/front-end/TabbedPane.js:
3295         (WebInspector.TabbedPane):
3296         (WebInspector.TabbedPane.prototype.defaultFocusedElement):
3297         * inspector/front-end/TextViewer.js:
3298         (WebInspector.TextViewer.prototype.defaultFocusedElement):
3299         (WebInspector.TextEditorMainPanel.prototype.defaultFocusedElement):
3300         * inspector/front-end/TimelinePanel.js:
3301         (WebInspector.TimelinePanel.prototype.defaultFocusedElement):
3302         * inspector/front-end/View.js:
3303         (WebInspector.View.prototype._collectViewHierarchy):
3304         (WebInspector.View.prototype.defaultFocusedElement):
3305         (WebInspector.View.prototype.setDefaultFocusedElement):
3306         (WebInspector.View.prototype.focus):
3307
3308 2012-04-20  Sergio Villar Senin  <svillar@igalia.com>
3309
3310         [GTK] Enable Web Timing
3311         https://bugs.webkit.org/show_bug.cgi?id=42432
3312
3313         Reviewed by Gustavo Noronha Silva.
3314
3315         Added WebTiming support to the GTK+ port. WebTiming allows
3316         developers to collect detailed network timing information per
3317         resource. It requires the new SoupMessage's "network-event"
3318         signal.
3319
3320         * GNUmakefile.am:
3321         * bindings/gobject/GNUmakefile.am:
3322         * platform/network/soup/ResourceHandleSoup.cpp:
3323         (WebCore):
3324         (WebCore::restartedCallback):
3325         (WebCore::sendRequestCallback):
3326         (WebCore::milisecondsSinceRequest):
3327         (WebCore::wroteBodyCallback):
3328         (WebCore::requestStartedCallback):
3329         (WebCore::networkEventCallback):
3330         (WebCore::startHTTPRequest):
3331         (WebCore::ResourceHandle::platformSetDefersLoading):
3332         (WebCore::ResourceHandle::defaultSession):
3333
3334 2012-04-20  'Pavel Feldman'  <pfeldman@chromium.org>
3335
3336         Not reviewed: fixed chromium sanity tests for inspector via assigning last path component
3337         to entire url for parsed urls with invalid specs.
3338
3339         * inspector/front-end/ResourceUtils.js:
3340         (WebInspector.ParsedURL):
3341
3342 2012-04-20  Kentaro Hara  <haraken@chromium.org>
3343
3344         Unreviewed, rolling out r114401.
3345         http://trac.webkit.org/changeset/114401
3346         https://bugs.webkit.org/show_bug.cgi?id=84161
3347
3348         Chromium crash
3349
3350         * bindings/scripts/CodeGeneratorV8.pm:
3351         (GenerateHeader):
3352         (NativeToJSValue):
3353         * bindings/scripts/test/V8/V8Float64Array.h:
3354         (WebCore):
3355         (WebCore::toV8):
3356         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3357         (WebCore::toV8):
3358         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3359         (WebCore::toV8):
3360         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3361         (WebCore::toV8):
3362         * bindings/scripts/test/V8/V8TestEventTarget.h:
3363         (WebCore::toV8):
3364         * bindings/scripts/test/V8/V8TestInterface.h:
3365         (WebCore::toV8):
3366         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3367         (WebCore::toV8):
3368         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3369         (WebCore::toV8):
3370         * bindings/scripts/test/V8/V8TestNode.h:
3371         (WebCore::toV8):
3372         * bindings/scripts/test/V8/V8TestObj.h:
3373         (WebCore::toV8):
3374         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3375         (WebCore::toV8):
3376         * bindings/v8/custom/V8BlobCustom.cpp:
3377         (WebCore::toV8):
3378         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3379         (WebCore::toV8):
3380         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
3381         (WebCore::toV8):
3382         * bindings/v8/custom/V8CSSValueCustom.cpp:
3383         (WebCore::toV8):
3384         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
3385         (WebCore::toV8):
3386         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3387         (WebCore::toV8):
3388         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
3389         (WebCore::toV8):
3390         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3391         (WebCore::toV8):
3392         * bindings/v8/custom/V8DataViewCustom.cpp:
3393         (WebCore::toV8):
3394         * bindings/v8/custom/V8DocumentCustom.cpp:
3395         (WebCore::toV8):
3396         * bindings/v8/custom/V8EntryCustom.cpp:
3397         (WebCore::toV8):
3398         * bindings/v8/custom/V8EntrySyncCustom.cpp:
3399         (WebCore::toV8):
3400         * bindings/v8/custom/V8EventCustom.cpp:
3401         (WebCore::toV8):
3402         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
3403         (WebCore::toV8):
3404         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
3405         (WebCore::toV8):
3406         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3407         (WebCore::toV8):
3408         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3409         (WebCore::toV8):
3410         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3411         (WebCore::toV8):
3412         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3413         (WebCore::toV8):
3414         * bindings/v8/custom/V8IDBKeyCustom.cpp:
3415         (WebCore::toV8):
3416         * bindings/v8/custom/V8ImageDataCustom.cpp:
3417         (WebCore::toV8):
3418         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
3419         (WebCore::toV8):
3420         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3421         (WebCore::toV8):
3422         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3423         (WebCore::toV8):
3424         * bindings/v8/custom/V8LocationCustom.cpp:
3425         (WebCore::toV8):
3426         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3427         (WebCore::toV8):
3428         * bindings/v8/custom/V8NodeCustom.cpp:
3429         (WebCore::toV8Slow):
3430         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
3431         (WebCore::toV8):
3432         * bindings/v8/custom/V8SVGElementCustom.cpp:
3433         (WebCore::toV8):
3434         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
3435         (WebCore::toV8):
3436         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
3437         (WebCore::toV8):
3438         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
3439         (WebCore::toV8):
3440         * bindings/v8/custom/V8StyleSheetCustom.cpp:
3441         (WebCore::toV8):
3442         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3443         (WebCore::toV8):
3444         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3445         (WebCore::toV8):
3446         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
3447         (WebCore::toV8):
3448         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
3449         (WebCore::toV8):
3450         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3451         (WebCore::toV8):
3452
3453 2012-04-20  Kentaro Hara  <haraken@chromium.org>
3454
3455         Unreviewed, rolling out r114440.
3456         http://trac.webkit.org/changeset/114440
3457         https://bugs.webkit.org/show_bug.cgi?id=84173
3458
3459         Chromium crash
3460
3461         * bindings/scripts/CodeGeneratorV8.pm:
3462         (GenerateHeader):
3463         * bindings/v8/custom/V8NodeCustom.cpp:
3464         (WebCore::toV8Slow):
3465
3466 2012-04-20  Kentaro Hara  <haraken@chromium.org>
3467
3468         Unreviewed, rolling out r114519.
3469         http://trac.webkit.org/changeset/114519
3470         https://bugs.webkit.org/show_bug.cgi?