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