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