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