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