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