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