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