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