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