1 2011-08-17 Emil A Eklund <eae@chromium.org>
3 Switch FrameView to to new layout types
4 https://bugs.webkit.org/show_bug.cgi?id=66147
6 Reviewed by Eric Seidel.
8 Convert Frame & FrameView to new layout abstraction as a part of the
9 ongoing conversion work.
11 No new tests, no new functionality.
14 (WebCore::Frame::visiblePositionForPoint):
15 (WebCore::Frame::documentAtPoint):
16 (WebCore::Frame::rangeForPoint):
17 (WebCore::Frame::setPageAndTextZoomFactors):
18 (WebCore::Frame::scalePage):
21 (WebCore::FrameView::create):
22 (WebCore::FrameView::reset):
23 (WebCore::FrameView::init):
24 (WebCore::FrameView::invalidateRect):
25 (WebCore::FrameView::setFrameRect):
26 (WebCore::FrameView::setMarginWidth):
27 (WebCore::FrameView::setMarginHeight):
28 (WebCore::FrameView::setContentsSize):
29 (WebCore::FrameView::adjustViewSize):
30 (WebCore::FrameView::scrollXForFixedPosition):
31 (WebCore::FrameView::scrollYForFixedPosition):
32 (WebCore::FrameView::scrollOffsetForFixedPosition):
33 (WebCore::FrameView::currentMousePosition):
34 (WebCore::FrameView::scrollContentsFastPath):
35 (WebCore::FrameView::scrollContentsSlowPath):
36 (WebCore::FrameView::setScrollPosition):
37 (WebCore::FrameView::repaintContentRectangle):
38 (WebCore::FrameView::scrollToAnchor):
39 (WebCore::FrameView::performPostLayoutTasks):
40 (WebCore::FrameView::windowClipRect):
41 (WebCore::FrameView::windowClipRectForLayer):
42 (WebCore::FrameView::scrollTo):
43 (WebCore::FrameView::invalidateScrollbarRect):
44 (WebCore::FrameView::getTickmarks):
45 (WebCore::FrameView::windowResizerRect):
46 (WebCore::FrameView::setVisibleScrollerThumbRect):
47 (WebCore::FrameView::paintScrollCorner):
48 (WebCore::FrameView::paintContents):
49 (WebCore::FrameView::paintOverhangAreas):
50 (WebCore::FrameView::forceLayoutForPagination):
51 (WebCore::FrameView::convertFromRenderer):
52 (WebCore::FrameView::convertToRenderer):
53 (WebCore::FrameView::convertToContainingView):
54 (WebCore::FrameView::convertFromContainingView):
56 (WebCore::FrameView::marginWidth):
57 (WebCore::FrameView::marginHeight):
58 * page/mac/FrameMac.mm:
59 (WebCore::Frame::snapshotDragImage):
60 (WebCore::Frame::nodeImage):
62 2011-08-17 Emil A Eklund <eae@chromium.org>
64 Switch html/* to to new layout types
65 https://bugs.webkit.org/show_bug.cgi?id=66347
67 Reviewed by Eric Seidel.
69 Convert HTML* and shadow element to new layout abstraction as a part of
70 the ongoing conversion work.
72 No new tests, no new functionality.
74 * html/HTMLAreaElement.cpp:
75 (WebCore::HTMLAreaElement::invalidateCachedRegion):
76 (WebCore::HTMLAreaElement::mapMouseEvent):
77 (WebCore::HTMLAreaElement::computePath):
78 (WebCore::HTMLAreaElement::computeRect):
79 (WebCore::HTMLAreaElement::getRegion):
80 * html/HTMLAreaElement.h:
81 * html/HTMLCanvasElement.cpp:
82 (WebCore::HTMLCanvasElement::paint):
83 * html/HTMLCanvasElement.h:
84 * html/HTMLMapElement.cpp:
85 (WebCore::HTMLMapElement::mapMouseEvent):
86 * html/HTMLMapElement.h:
87 * html/ImageDocument.cpp:
88 (WebCore::ImageDocumentParser::finish):
89 (WebCore::ImageDocument::scale):
90 (WebCore::ImageDocument::resizeImageToFit):
91 (WebCore::ImageDocument::imageFitsInWindow):
92 * html/ValidationMessage.cpp:
93 (WebCore::adjustBubblePosition):
94 * html/canvas/CanvasRenderingContext2D.cpp:
96 (WebCore::CanvasRenderingContext2D::drawImage):
97 * html/shadow/MediaControlElements.cpp:
98 (WebCore::MediaControlPanelElement::startDrag):
99 (WebCore::MediaControlPanelElement::continueDrag):
100 (WebCore::MediaControlPanelElement::setPosition):
101 (WebCore::MediaControlPanelElement::defaultEventHandler):
102 * html/shadow/MediaControlElements.h:
103 * html/shadow/SliderThumbElement.cpp:
104 (WebCore::SliderThumbElement::dragFrom):
105 (WebCore::SliderThumbElement::setPositionFromPoint):
106 * html/shadow/SliderThumbElement.h:
107 * rendering/RenderImage.cpp:
108 (WebCore::RenderImage::nodeAtPoint):
110 2011-08-17 David Grogan <dgrogan@chromium.org>
112 Change references to leveldb.gyp to leveldatabase.gyp as part of the
113 leveldb refactoring going on in chromium: crbug.com/89378
114 https://bugs.webkit.org/show_bug.cgi?id=66332
116 Reviewed by Tony Gentilcore.
118 Tests: new-run-webkit-tests --debug --chromium --no-retry-failures --build-directory=llvm storage/indexeddb
120 * WebCore.gyp/WebCore.gyp:
122 2011-08-17 Hayato Ito <hayato@chromium.org>
124 Implement proper handling of focus/blur events in regard to shadow DOM boundaries.
125 https://bugs.webkit.org/show_bug.cgi?id=61421
127 Reviewed by Dimitri Glazkov.
129 Introduces FocusEventDispatchMediator/BlurEventDispatchMediator so
130 that focus/blue events are stopped at the lowest common shadow boundary.
133 (WebCore::Document::setFocusedNode):
135 (WebCore::FocusEventDispatchMediator::create):
136 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
137 (WebCore::FocusEventDispatchMediator::dispatchEvent):
138 (WebCore::BlurEventDispatchMediator::create):
139 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
140 (WebCore::BlurEventDispatchMediator::dispatchEvent):
143 (WebCore::Node::dispatchFocusEvent):
144 (WebCore::Node::dispatchBlurEvent):
146 * html/HTMLFormControlElement.cpp:
147 (WebCore::HTMLFormControlElement::dispatchBlurEvent):
148 * html/HTMLFormControlElement.h:
149 * html/HTMLSelectElement.cpp:
150 (WebCore::HTMLSelectElement::dispatchFocusEvent):
151 (WebCore::HTMLSelectElement::dispatchBlurEvent):
152 * html/HTMLSelectElement.h:
153 * html/HTMLTextFormControlElement.cpp:
154 (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
155 (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
156 * html/HTMLTextFormControlElement.h:
157 * page/FocusController.cpp:
158 (WebCore::dispatchEventsOnWindowAndFocusedNode):
160 2011-08-17 Ben Wells <benwells@chromium.org>
162 Canvas fill and fillRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
163 https://bugs.webkit.org/show_bug.cgi?id=66036
165 These modes cannot be passed straight through to the underlying graphics context as the graphics context
166 and the HTML5 canvas spec have different interpretations to them. In the graphics context, the compositing
167 modes are applied just over the area being filled. In the HTML5 spec, the compositing modes are applied over
170 The SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy modes all need some kind of extra action
171 to just performing the composited fill on the canvas, as they need t he canvas to be cleared outside of the
174 Previous to this change the Copy mode did not do this clearing at all. The other modes did but if the
175 transformed path being filled contained anti-aliasing at its edges artifacts were introduced.
177 With this change, Copy now does a complete erase of the canvas before performing a fill as per normal.
178 The other modes use a temporary buffer just big enough for the transformed path (in device coordinates).
179 The fill is first done there in SourceOver mode. Then this is drawn into the canvas context using the
180 appropriate mode, with any areas outside the draw area being cleared.
182 Reviewed by James Robinson.
184 Test: fast/canvas/canvas-composite-transformclip.html
186 * html/HTMLCanvasElement.h:
187 * html/canvas/CanvasRenderingContext2D.cpp:
188 (WebCore::CanvasRenderingContext2D::fill):
189 (WebCore::CanvasRenderingContext2D::fillRect):
190 (WebCore::CanvasRenderingContext2D::clearCanvas):
191 (WebCore::CanvasRenderingContext2D::transformAreaToDevice):
192 (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
193 * html/canvas/CanvasRenderingContext2D.h:
194 * platform/graphics/skia/ImageBufferSkia.cpp:
195 (WebCore::ImageBuffer::ImageBuffer):
197 2011-08-17 Emil A Eklund <eae@chromium.org>
199 Switch inspector to to new layout types
200 https://bugs.webkit.org/show_bug.cgi?id=66358
202 Reviewed by Eric Seidel.
204 Convert inspector code to new layout abstraction as a part of the ongoing
207 No new tests, no new functionality.
209 * inspector/DOMNodeHighlighter.cpp:
210 (WebCore::DOMNodeHighlighter::drawNodeHighlight):
211 * inspector/InspectorInstrumentation.cpp:
212 (WebCore::InspectorInstrumentation::willPaintImpl):
213 * inspector/InspectorInstrumentation.h:
214 (WebCore::InspectorInstrumentation::willPaint):
215 * inspector/InspectorTimelineAgent.cpp:
216 (WebCore::InspectorTimelineAgent::willPaint):
217 * inspector/InspectorTimelineAgent.h:
218 * inspector/TimelineRecordFactory.cpp:
219 (WebCore::TimelineRecordFactory::createPaintData):
220 * inspector/TimelineRecordFactory.h:
222 2011-08-17 Levi Weintraub <leviw@chromium.org>
224 Switch Editing code to new layout types
225 https://bugs.webkit.org/show_bug.cgi?id=66355
227 Reviewed by Eric Seidel.
229 Converting remaining editing code to the LayoutUnit abstraction.
231 No new tests, no change in functionality.
233 * editing/Editor.cpp:
234 (WebCore::Editor::rangeForPoint):
235 (WebCore::Editor::insideVisibleArea):
236 (WebCore::Editor::countMatchesForText):
238 * editing/mac/FrameSelectionMac.mm:
239 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
241 2011-08-17 Levi Weintraub <leviw@chromium.org>
243 Switch Accessibility code to new layout types
244 https://bugs.webkit.org/show_bug.cgi?id=66348
246 Reviewed by Eric Seidel.
248 Converting remaining Accessibility code to the LayoutUnit abstraction.
250 No new tests, no change in functionality
252 * accessibility/AccessibilityImageMapLink.cpp:
253 (WebCore::AccessibilityImageMapLink::elementRect):
254 * accessibility/AccessibilityImageMapLink.h:
255 * accessibility/AccessibilityListBox.cpp:
256 (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
257 * accessibility/AccessibilityListBox.h:
258 * accessibility/AccessibilityListBoxOption.cpp:
259 (WebCore::AccessibilityListBoxOption::elementRect):
260 * accessibility/AccessibilityListBoxOption.h:
261 * accessibility/AccessibilityMenuListOption.cpp:
262 (WebCore::AccessibilityMenuListOption::elementRect):
263 * accessibility/AccessibilityMenuListOption.h:
264 (WebCore::AccessibilityMenuListOption::size):
265 * accessibility/AccessibilityMenuListPopup.h:
266 (WebCore::AccessibilityMenuListPopup::elementRect):
267 (WebCore::AccessibilityMenuListPopup::size):
268 * accessibility/AccessibilityObject.cpp:
269 (WebCore::AccessibilityObject::clickPoint):
270 (WebCore::AccessibilityObject::orientation):
271 (WebCore::AccessibilityObject::elementAccessibilityHitTest):
272 * accessibility/AccessibilityObject.h:
273 (WebCore::AccessibilityObject::accessibilityHitTest):
274 (WebCore::AccessibilityObject::boundingBoxRect):
275 (WebCore::AccessibilityObject::size):
276 (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
277 (WebCore::AccessibilityObject::doAXBoundsForRange):
278 * accessibility/AccessibilityRenderObject.cpp:
279 (WebCore::AccessibilityRenderObject::isOffScreen):
280 (WebCore::AccessibilityRenderObject::boundingBoxRect):
281 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
282 (WebCore::AccessibilityRenderObject::elementRect):
283 (WebCore::AccessibilityRenderObject::size):
284 (WebCore::AccessibilityRenderObject::clickPoint):
285 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
286 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
287 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
288 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
289 * accessibility/AccessibilityRenderObject.h:
290 * accessibility/AccessibilityScrollView.cpp:
291 (WebCore::AccessibilityScrollView::accessibilityHitTest):
292 (WebCore::AccessibilityScrollView::elementRect):
293 * accessibility/AccessibilityScrollView.h:
294 * accessibility/AccessibilityScrollbar.cpp:
295 (WebCore::AccessibilityScrollbar::elementRect):
296 * accessibility/AccessibilityScrollbar.h:
297 * accessibility/AccessibilitySlider.cpp:
298 (WebCore::AccessibilitySliderThumb::elementRect):
299 (WebCore::AccessibilitySliderThumb::size):
300 * accessibility/AccessibilitySlider.h:
301 * accessibility/AccessibilityTableColumn.cpp:
302 (WebCore::AccessibilityTableColumn::elementRect):
303 (WebCore::AccessibilityTableColumn::size):
304 * accessibility/AccessibilityTableColumn.h:
305 * accessibility/AccessibilityTableHeaderContainer.cpp:
306 (WebCore::AccessibilityTableHeaderContainer::elementRect):
307 (WebCore::AccessibilityTableHeaderContainer::size):
308 * accessibility/AccessibilityTableHeaderContainer.h:
309 * accessibility/mac/AccessibilityObjectWrapper.mm:
310 (-[AccessibilityObjectWrapper position]):
311 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
312 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
314 2011-08-17 Emil A Eklund <eae@chromium.org>
316 Switch focus handling to to new layout types
317 https://bugs.webkit.org/show_bug.cgi?id=66331
319 Reviewed by Eric Seidel.
321 Convert FocusController and SpatialNavigation to new layout abstraction
322 as a part of the ongoing conversion work.
324 No new tests, no new functionality.
326 * page/FocusController.cpp:
327 (WebCore::updateFocusCandidateIfNeeded):
328 (WebCore::FocusController::findFocusCandidateInContainer):
329 (WebCore::FocusController::advanceFocusDirectionallyInContainer):
330 (WebCore::FocusController::advanceFocusDirectionally):
331 * page/FocusController.h:
332 * page/SpatialNavigation.cpp:
333 (WebCore::alignmentForRects):
337 (WebCore::areRectsFullyAligned):
338 (WebCore::areRectsPartiallyAligned):
339 (WebCore::areRectsMoreThanFullScreenApart):
342 (WebCore::isRectInDirection):
343 (WebCore::hasOffscreenRect):
344 (WebCore::scrollInDirection):
345 (WebCore::deflateIfOverlapped):
346 (WebCore::canScrollInDirection):
347 (WebCore::rectToAbsoluteCoordinates):
348 (WebCore::nodeRectInAbsoluteCoordinates):
349 (WebCore::frameRectInAbsoluteCoordinates):
350 (WebCore::entryAndExitPointsForDirection):
351 (WebCore::distanceDataForNode):
352 (WebCore::canBeScrolledIntoView):
353 (WebCore::virtualRectForDirection):
354 (WebCore::virtualRectForAreaElementAndDirection):
355 * page/SpatialNavigation.h:
357 2011-08-17 Levi Weintraub <leviw@chromium.org>
359 Switch Document, DocumentMarker, Clipboard, and Range to new layout types
360 https://bugs.webkit.org/show_bug.cgi?id=66330
362 Reviewed by Eric Seidel.
364 Converting the remaining DOM classes to use the LayoutUnit abstraction.
366 No new tests, no new behavior.
369 (WebCore::Clipboard::dragLocation):
371 (WebCore::Document::nodesFromRect):
372 (WebCore::nodeFromPoint):
373 (WebCore::Document::caretRangeFromPoint):
374 (WebCore::Document::prepareMouseEvent):
376 * dom/DocumentMarkerController.cpp:
377 (WebCore::DocumentMarkerController::markerContainingPoint):
378 (WebCore::DocumentMarkerController::renderedRectsForMarkers):
379 (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
380 * dom/DocumentMarkerController.h:
382 (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
383 * dom/RenderedDocumentMarker.h:
384 (WebCore::RenderedDocumentMarker::contains):
385 (WebCore::RenderedDocumentMarker::setRenderedRect):
386 (WebCore::RenderedDocumentMarker::renderedRect):
387 (WebCore::RenderedDocumentMarker::invalidMarkerRect):
388 (WebCore::RenderedDocumentMarker::invalidate):
390 2011-08-17 Dan Bernstein <mitz@apple.com>
392 Removed an unused setting.
394 Reviewed by Anders Carlsson.
398 (WebCore::Settings::Settings): Removed initializer for m_needsTigerMailQuirks.
399 * page/Settings.h: Removed accessors.
401 2011-08-17 Oliver Hunt <oliver@apple.com>
403 Move towards supporting user controlled prototypes on CanvasPixelArray
404 https://bugs.webkit.org/show_bug.cgi?id=66429
406 Reviewed by Gavin Barraclough.
408 Start using a per-global object structure for canvas pixel array.
410 * bindings/js/JSImageDataCustom.cpp:
413 2011-08-17 Luke Macpherson <macpherson@chromium.org>
415 Support cast from CSSPrimitiveValue to unsigned, and use in appropriate places in CSSStyleSelector::applyProperty
416 https://bugs.webkit.org/show_bug.cgi?id=66281
418 Reviewed by Eric Seidel.
420 No new tests - refactoring only.
422 The return if type!=CSS_NUMBER case becomes an ASSERT because it is unreachable unless there is an error in the parser.
424 * css/CSSPrimitiveValueMappings.h:
425 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
426 Support cast from unsigned to CSSPrimitiveValue
427 (WebCore::CSSPrimitiveValue::operator unsigned):
428 Support cast from CSSPrimitiveValue to unsigned
429 * css/CSSStyleSelector.cpp:
430 (WebCore::CSSStyleSelector::applyProperty):
431 Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for CSSPropertyWebkitBoxFlex,
432 CSSPropertyWebkitBoxFlexGroup and CSSPropertyWebkitBoxOrdinalGroup properties.
434 2011-08-17 Scott Byer <scottbyer@chromium.org>
436 ScrollAnimatorNone: Remove unused field
437 https://bugs.webkit.org/show_bug.cgi?id=66312
439 Reviewed by Adam Barth.
441 No functional change; no test needed.
443 * platform/ScrollAnimatorNone.cpp:
444 (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
445 (WebCore::ScrollAnimatorNone::scroll):
446 * platform/ScrollAnimatorNone.h:
448 2011-08-17 Jeff Miller <jeffm@apple.com>
450 Work-in-progress on Soft link against AVFoundationCF and CoreMedia
451 https://bugs.webkit.org/show_bug.cgi?id=65725
453 Don't bother with SOFT_LINK_LIBRARY(libdispatch), we're going to continue to statically link to it since
454 the DLL will have already been loaded by other parts of AAS and is guaranteed to be available if AVFoundation
457 Reviewed by Anders Carlsson.
459 No new tests; no functional change.
461 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Removed SOFT_LINK_DEBUG_LIBRARY(libdispatch) and SOFT_LINK_LIBRARY(libdispatch).
462 (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable): Don't check for libdispatch.
464 2011-08-17 Brady Eidson <beidson@apple.com>
466 https://bugs.webkit.org/show_bug.cgi?id=66354 and <rdar://problem/9965209>
467 Regression: On Lion, redirects lose HTTP authentication headers
469 Reviewed by Alexey Proskuryakov and Darin Adler.
471 This changes makes WebCore try to apply basic credentials after a redirect if the redirect is to the same origin,
472 assuming the redirected URL did not contain credentials directly.
474 Tests: http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html
475 http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html
476 http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
478 * platform/network/cf/ResourceHandleCFNet.cpp:
479 (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
480 (WebCore::ResourceHandle::createCFURLConnection): Use the applyBasicAuthorizationHeader helper.
481 (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
483 * platform/network/mac/ResourceHandleMac.mm:
484 (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
485 (WebCore::ResourceHandle::createNSURLConnection): Use the applyBasicAuthorizationHeader helper.
486 (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
488 2011-08-17 Chris Fleizach <cfleizach@apple.com>
490 Accessibility stack exhaustion using role attribute
491 https://bugs.webkit.org/show_bug.cgi?id=65174
493 Reviewed by Darin Adler.
495 Forgot to commit review comments.
497 * accessibility/AccessibilityRenderObject.cpp:
498 (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
500 2011-08-17 Chris Fleizach <cfleizach@apple.com>
502 Accessibility stack exhaustion using role attribute
503 https://bugs.webkit.org/show_bug.cgi?id=65174
505 Make sure we do not call accessibilityIsIgnored() during the AccessibilityObject
506 creation flow. That can lead to loops.
508 Reviewed by Darin Adler.
510 Tests: accessibility/crash-determining-aria-role-when-label-present.html
512 * accessibility/AccessibilityObject.cpp:
513 (WebCore::createARIARoleMap):
514 * accessibility/AccessibilityRenderObject.cpp:
515 (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
516 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
517 * accessibility/AccessibilityRenderObject.h:
519 2011-08-17 James Robinson <jamesr@chromium.org>
521 [chromium] Crash if compositing is disabled during updateLayers()
522 https://bugs.webkit.org/show_bug.cgi?id=66353
524 Reviewed by Kenneth Russell.
526 If compositing is turned off during LayerRendererChromium::updateLayers(), the rootLayer() will become null.
527 Sicne CCLayerTreeHost::doComposite() calls updateLayers() and then drawLayers() without checking for this case,
528 drawLayers() has to return without doing anything if the root layer is null.
530 Crash fixed based on crash reports. No known reliably repro case, unfortunately.
532 * platform/graphics/chromium/LayerRendererChromium.cpp:
533 (WebCore::LayerRendererChromium::drawLayers):
535 2011-08-17 Dan Bernstein <mitz@apple.com>
537 <rdar://problem/9971293> Mid-word breaks can occur in the middle of a surrogate pair
538 https://bugs.webkit.org/show_bug.cgi?id=66402
540 Reviewed by Dave Hyatt.
542 Test: fast/text/midword-break-before-surrogate-pair-2.html
544 * rendering/RenderBlockLineLayout.cpp:
545 (WebCore::RenderBlock::LineBreaker::nextLineBreak): Just never allow a mid-word
546 break before a trailing surrogate.
548 2011-08-16 Chang Shu <cshu@webkit.org>
550 Support reset in WebCore::Internals
551 https://bugs.webkit.org/show_bug.cgi?id=66307
553 Reviewed by Dimitri Glazkov.
555 New tests will be added when function reset is implemented.
557 Added framework code in WebCoreTestSupport. The real implementation of
558 Internals::reset() depends on the need from the settings that require a reset.
560 * testing/Internals.cpp:
561 (WebCore::Internals::reset):
562 * testing/Internals.h:
563 * testing/js/WebCoreTestSupport.cpp:
564 (WebCoreTestSupport::resetInternalsObject):
565 * testing/js/WebCoreTestSupport.h:
566 * testing/v8/WebCoreTestSupport.cpp:
567 (WebCoreTestSupport::resetInternalsObject):
568 * testing/v8/WebCoreTestSupport.h:
570 2011-08-17 Tony Chang <tony@chromium.org>
572 Fix chromium mac compile. MediaPlayerPrivateAVFoundationObjC.* moved
573 and the WebCore.gypi file wasn't updated.
577 2011-08-17 Abhishek Arya <inferno@chromium.org>
579 Crash in Document::recalcStyleSelector
580 https://bugs.webkit.org/show_bug.cgi?id=66335
582 Reviewed by Simon Fraser.
584 When node is getting destroyed and its removedFromDocument
585 is not called due to entire document structure torn down(using
586 removeAllChildren), make sure to clear out the stylesheet
587 candidate node from document's structures in its destructor.
589 Test: svg/dom/stylesheet-candidate-node-crash-main.html
591 * dom/ProcessingInstruction.cpp:
592 (WebCore::ProcessingInstruction::~ProcessingInstruction):
593 * html/HTMLLinkElement.cpp:
594 (WebCore::HTMLLinkElement::~HTMLLinkElement):
595 * html/HTMLStyleElement.cpp:
596 (WebCore::HTMLStyleElement::~HTMLStyleElement):
597 * svg/SVGStyleElement.cpp:
598 (WebCore::SVGStyleElement::~SVGStyleElement):
600 2011-08-17 Sam White <samuel.white@rochester.edu>
602 AccessibilityObject levels are inconsistent
603 https://bugs.webkit.org/show_bug.cgi?id=66180
605 Updated accessibilityTable to return level values consistent with other accessibilityObjects that
606 return level values. This means a value of 0 is now only returned when tableLevel() is called on a
609 Reviewed by Chris Fleizach.
611 Test: platform/mac/accessibility/element-level.html
613 * accessibility/AccessibilityTable.cpp:
614 (WebCore::AccessibilityTable::tableLevel):
615 * accessibility/mac/AccessibilityObjectWrapper.mm:
616 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
618 2011-08-17 Ryosuke Niwa <rniwa@webkit.org>
620 An arrow key collapses directionless selection range in the wrong direction in BiDi
621 https://bugs.webkit.org/show_bug.cgi?id=64626
623 Reviewed by Darin Adler.
625 The bug was caused by willBeModified's always using block direction to determine
626 the direction to which the selection is collapsed. Fixed the bug by calling directionOfSelection
627 in willBeModified, which will return the text direction of the surrounding context when
628 the start and the end have the same direction. When the text directions at the start and at the end
629 of selection do not match, it uses the block's text direction.
631 Test: editing/selection/collapse-selection-in-bidi.html
633 * editing/FrameSelection.cpp:
634 (WebCore::FrameSelection::directionOfSelection): Added.
635 (WebCore::FrameSelection::willBeModified): Calls directionOfSelection.
636 (WebCore::FrameSelection::modifyMovingRight): Ditto.
637 (WebCore::FrameSelection::modifyMovingLeft): Ditto.
638 * editing/FrameSelection.h:
640 2011-08-17 Jeff Miller <jeffm@apple.com>
642 Some AVFoundation source files should be in platform-specific directories
643 https://bugs.webkit.org/show_bug.cgi?id=66352
645 Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf,
646 and moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
648 While I was at it, added svn:eol-style property to the MediaPlayerPrivateAVFoundationObjC.* files.
650 Also, for some reason, Visual Studio decided to re-sort a couple files in \inspector\front-end\ in WebCore.vcproj, even though
651 I just re-sorted the project in r93215.
653 Reviewed by Eric Carlson.
655 No new tests; no functional change.
657 * WebCore.vcproj/WebCore.vcproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf.
659 * WebCore.vcproj/WebCoreMediaQT.vsprops: Added $(ProjectDir)..\platform\graphics\avfoundation\cf to include paths.
661 * WebCore.xcodeproj/project.pbxproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
663 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Removed.
664 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Removed.
665 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Removed.
666 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Removed.
668 * platform/graphics/avfoundation/cf: Added.
669 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp.
670 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h.
672 * platform/graphics/avfoundation/objc: Added.
673 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h.
674 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm.
676 2011-08-17 Luke Macpherson <macpherson@chromium.org>
678 Only set m_fontDirty if TextSizeAdjust is actually changed.
679 https://bugs.webkit.org/show_bug.cgi?id=66022
681 Reviewed by Darin Adler.
683 No new tests. Refactoring only.
685 Reduces instances where the font information is dirtied to save recalculation where it is not necessary.
687 * css/CSSStyleSelector.cpp:
688 (WebCore::CSSStyleSelector::applyProperty):
689 Call new setTextSizeAdjust function.
690 * css/CSSStyleSelector.h:
691 (WebCore::CSSStyleSelector::setTextSizeAdjust):
692 Add wrapper for RenderStyle::setTextSizeAdjust() that automatically updates m_fontDirty.
693 * rendering/style/RenderStyle.h:
694 (WebCore::RenderStyle::setTextSizeAdjust):
695 Make setTextSizeAdjust return true if the unlderlying value was changed.
697 2011-08-17 Kenichi Ishibashi <bashi@chromium.org>
699 [Chromium] Crash in HarfbuzzFace::~HarfbuzzFace
700 https://bugs.webkit.org/show_bug.cgi?id=66211
702 Holds Skia's unique font ID instead of FontPlatformData to avoid accessing freed FontPlatformData.
704 Reviewed by Tony Chang.
706 No new tests; no functional change.
708 * platform/graphics/chromium/HarfbuzzSkia.cpp:
709 (WebCore::releaseCachedHarfbuzzFace): Changed the argument.
710 (WebCore::HarfbuzzFace::HarfbuzzFace): Changed to have Skia's font uniqueID instead of FontPlatformData.
711 (WebCore::HarfbuzzFace::~HarfbuzzFace): Uses m_uniqueID to call releaseCachedHarfbuzzFace.
712 * platform/graphics/chromium/HarfbuzzSkia.h:
714 2011-08-17 Jeff Miller <jeffm@apple.com>
716 Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
718 * WebCore.vcproj/WebCore.vcproj:
720 2011-08-17 Sailesh Agrawal <sail@chromium.org>
722 Chromium Mac: Fix implementation of wkScrollbarMinimumTotalLengthNeededForThumb to match WebKitSystemInterface
723 https://bugs.webkit.org/show_bug.cgi?id=66311
725 Reviewed by Dimitri Glazkov.
727 Updated wkScrollbarMinimumTotalLengthNeededForThumb() based on the latest disassembly of libWebKitSystemInterfaceLion.a.
729 * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
730 (wkScrollbarMinimumTotalLengthNeededForThumb):
732 2011-08-17 Steve Block <steveblock@google.com>
734 Unreviewed, rolling out r93186.
735 http://trac.webkit.org/changeset/93186
736 https://bugs.webkit.org/show_bug.cgi?id=66114
738 Breaks LayoutTests on Chromium canary bots
740 * platform/graphics/chromium/LayerChromium.h:
741 * platform/graphics/chromium/LayerRendererChromium.cpp:
742 (WebCore::LayerRendererChromium::updateLayers):
743 (WebCore::LayerRendererChromium::drawLayersInternal):
744 (WebCore::LayerRendererChromium::drawLayer):
745 * platform/graphics/chromium/cc/CCLayerImpl.h:
747 2011-08-17 Ryosuke Niwa <rniwa@webkit.org>
749 Get rid of calls to deprecatedNode and deprecatedEditingOffset in
750 AccessibilityRenderObject.cpp and InsertTextCommand.cpp
751 https://bugs.webkit.org/show_bug.cgi?id=66014
753 Reviewed by Hajime Morita.
755 Removed calls to deprecatedNode and deprecatedEditingOffsets in the following files.
757 * accessibility/AccessibilityRenderObject.cpp:
758 (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls Position::rootEditableElement
759 and Range::setEnd(const Position&, ExceptionCode) instead of manually pulling deprecatedNode
760 and deprecatedEditingOffset.
761 (WebCore::AccessibilityRenderObject::index): Abstracted the logic to loop through render objects
762 from deprecatedNodes' renderer to m_renderer as renderObjectContainsPosition.
764 (WebCore::Position::rootEditableElement): Added.
766 (WebCore::Range::setStart): Added.
767 (WebCore::Range::setEnd): Added.
769 * editing/InsertTextCommand.cpp:
770 (WebCore::InsertTextCommand::insertTab):
771 * editing/RenderedPosition.cpp:
772 (WebCore::renderObjectContainsPosition): Extracted from AccessibilityRenderObject::index.
773 * editing/RenderedPosition.h:
775 2011-08-17 Sailesh Agrawal <sail@chromium.org>
777 Chromium Mac: Fix issue where scrollbar wouldn't be drawn until page finished loading
778 https://bugs.webkit.org/show_bug.cgi?id=66238
780 Reviewed by Dimitri Glazkov.
782 Overlay scrollbars were not visible if the user scrolled a page while the page was loading. The sequence of events necessary to reproduce this bug were:
783 1. -[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:] is called
784 2. animation is delayed because shouldSuspendScrollAnimations() is true
785 3. ScrollAnimatorChromiumMac::scroll() is called before the ScrollAnimatorChromiumMac::m_initialScrollbarPaintTimer is fired.
786 4. At this point the scrollbar painter assumes the scrollbar is already visible (because of 1.) so the scrollbar's alpha stays at 0. Thus the scrollbar isn't visible until the page finishes loading.
787 It turns out that the root problem was that when the initialScrollbarPainterTimer fired I wasn't flashing the scrollbar correctly. My implementation of wkScrollbarPainterForceFlashScrollers() just called flashScrollers. The Safari implementation of this function also calls hideOverlayScrollers. Calling hideOverlayScrollers causes the alpha to change to 0 which prevents step 4 from happening.
789 Also, now that wkScrollbarPainterForceFlashScrollers is working correctly I don't need the extra logic I added to the initialScrollbarPainterTimer handler. That logic restarted the timer if shouldSuspendScrollAnimations() was true. But this isn't necessary since calling wkScrollbarPainterForceFlashScrollers() causes -[ScrollbarPainterDelegate setUpAnimation:...] to be called which does the exact same thing. Removing the extra logic reverts http://trac.webkit.org/changeset/92316.
791 * platform/chromium/ScrollAnimatorChromiumMac.mm:
792 (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
793 * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
794 (wkScrollbarPainterForceFlashScrollers):
796 2011-08-16 Andrey Kosyakov <caseq@chromium.org>
798 Web Inspector: maintain visible view hierarchy and dispatch common view events automatically
799 https://bugs.webkit.org/show_bug.cgi?id=66131
801 Reviewed by Pavel Feldman.
803 Test: inspector/view-events.html
805 - added a notion of an optional parent to a View
806 - maintain a list of View children
807 - dispatch common view events, such as show/hide/resize automatically through the hierarchy of visible views.
808 - promoted Panel's logic of (re)storing scroll positions to view
809 - demoted inheritScrollPositionFromView to a couple of views that need it.
811 * inspector/front-end/ApplicationCacheItemsView.js:
812 (WebInspector.ApplicationCacheItemsView.prototype.onResize):
813 * inspector/front-end/ConsoleView.js:
814 (WebInspector.ConsoleView.prototype.populateStatusBar):
815 (WebInspector.ConsoleView.prototype.elementsToRestoreScrollPositionsFor):
816 * inspector/front-end/CookieItemsView.js:
817 (WebInspector.CookieItemsView.prototype.onResize):
818 (WebInspector.SimpleCookiesTable.prototype.onResize):
819 * inspector/front-end/DOMStorageItemsView.js:
820 (WebInspector.DOMStorageItemsView.prototype.onResize):
821 * inspector/front-end/DetailedHeapshotView.js:
822 (WebInspector.DetailedHeapshotView.prototype.onResize):
823 * inspector/front-end/Drawer.js:
824 (WebInspector.Drawer.prototype.set visibleView):
825 (WebInspector.Drawer.prototype.show):
826 (WebInspector.Drawer.prototype.hide):
827 (WebInspector.Drawer.prototype.onResize):
828 (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
829 (WebInspector.Drawer.prototype._animateDrawerHeight):
830 (WebInspector.Drawer.prototype._statusBarDragging):
831 (WebInspector.Drawer.prototype._endStatusBarDragging):
832 * inspector/front-end/ElementsPanel.js:
833 (WebInspector.ElementsPanel.prototype.onResize):
834 * inspector/front-end/ExtensionPanel.js:
835 * inspector/front-end/FontView.js:
836 (WebInspector.FontView.prototype.onResize):
837 * inspector/front-end/IFrameView.js:
838 (WebInspector.IFrameView):
839 * inspector/front-end/NetworkItemView.js:
840 (WebInspector.NetworkItemView.prototype._installHighlightSupport):
841 * inspector/front-end/NetworkPanel.js:
842 (WebInspector.NetworkLogView):
843 (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
844 (WebInspector.NetworkLogView.prototype.onResize):
845 (WebInspector.NetworkLogView.prototype.wasShown):
846 (WebInspector.NetworkLogView.prototype.willHide):
847 (WebInspector.NetworkPanel):
848 (WebInspector.NetworkPanel.prototype.show):
849 (WebInspector.NetworkPanel.prototype._showResource):
850 (WebInspector.NetworkPanel.prototype._closeVisibleResource):
851 * inspector/front-end/Panel.js:
852 (WebInspector.Panel.prototype.show):
853 (WebInspector.Panel.prototype.hide):
854 (WebInspector.Panel.prototype.performSearch.processChunk):
855 (WebInspector.Panel.prototype.performSearch):
856 (WebInspector.Panel.prototype.updateSidebarWidth):
857 * inspector/front-end/PanelEnablerView.js:
858 (WebInspector.PanelEnablerView.prototype.show):
859 (WebInspector.PanelEnablerView.prototype.onResize):
860 * inspector/front-end/ProfileView.js:
861 (WebInspector.CPUProfileView.prototype.onResize):
862 * inspector/front-end/ProfilesPanel.js:
863 (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
864 * inspector/front-end/ResourceCookiesView.js:
865 (WebInspector.ResourceCookiesView.prototype.onResize):
866 * inspector/front-end/ResourcePreviewView.js:
867 (WebInspector.ResourcePreviewView.prototype.contentLoaded):
868 * inspector/front-end/ResourceResponseView.js:
869 (WebInspector.ResourceResponseView.prototype.contentLoaded):
870 * inspector/front-end/ResourceTimingView.js:
871 (WebInspector.ResourceTimingView.prototype.show):
872 * inspector/front-end/ResourcesPanel.js:
873 (WebInspector.ResourcesPanel.prototype.show):
874 (WebInspector.ResourcesPanel.prototype._innerShowView):
875 (WebInspector.ResourcesPanel.prototype.closeVisibleView):
876 (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
877 (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
878 * inspector/front-end/ScriptsPanel.js:
879 (WebInspector.ScriptsPanel.prototype.show):
880 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
881 (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
882 (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
883 * inspector/front-end/SourceFrame.js:
884 (WebInspector.SourceFrame):
885 (WebInspector.SourceFrame.prototype.show):
886 (WebInspector.SourceFrame.prototype.willHide):
887 (WebInspector.SourceFrame.prototype.clearMessages):
888 (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
889 (WebInspector.SourceFrame.prototype.inheritScrollPositions):
890 * inspector/front-end/TabbedPane.js:
891 (WebInspector.TabbedPane.prototype.appendTab):
892 * inspector/front-end/TextViewer.js:
893 (WebInspector.TextViewer.prototype.elementsToRestoreScrollPositionsFor):
894 (WebInspector.TextViewer.prototype.inheritScrollPositions):
895 (WebInspector.TextViewer.prototype.onResize):
896 * inspector/front-end/TimelinePanel.js:
897 (WebInspector.TimelinePanel.prototype.onResize):
898 (WebInspector.TimelinePanel.prototype.elementsToRestoreScrollPositionsFor):
899 (WebInspector.TimelinePanel.prototype.show):
900 * inspector/front-end/View.js:
902 (WebInspector.View.prototype.wasShown):
903 (WebInspector.View.prototype.willHide):
904 (WebInspector.View.prototype._innerShow):
905 (WebInspector.View.prototype.show):
906 (WebInspector.View.prototype._innerHide):
907 (WebInspector.View.prototype.hide):
908 (WebInspector.View.prototype._detach):
909 (WebInspector.View.prototype.elementsToRestoreScrollPositionsFor):
910 (WebInspector.View.prototype.storeScrollPositions):
911 (WebInspector.View.prototype.restoreScrollPositions):
912 (WebInspector.View.prototype.addChildView):
913 (WebInspector.View.prototype.removeChildView):
914 (WebInspector.View.prototype.onResize):
915 (WebInspector.View.prototype.doResize):
916 (WebInspector.View.prototype.dispatchToSelfAndVisibleChildren):
917 (WebInspector.View.prototype.dispatchToVisibleChildren):
918 * inspector/front-end/inspector.js:
919 (WebInspector.windowResize):
921 2011-08-16 Luke Macpherson <macpherson@chromium.org>
923 Represent RenderStyle::textOverflow property using an enum instead of a bool.
924 https://bugs.webkit.org/show_bug.cgi?id=66356
926 Reviewed by Dan Bernstein.
928 No new tests - no behavioral changes.
930 * css/CSSPrimitiveValueMappings.h:
931 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
932 Support cast from TextOverflow to CSSPrimitiveValue.
933 (WebCore::CSSPrimitiveValue::operator TextOverflow):
934 Support cast from CSSPrimitiveValue to TextOverflow.
935 * css/CSSStyleSelector.cpp:
936 (WebCore::CSSStyleSelector::applyProperty):
937 Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for text overflow.
938 * rendering/style/RenderStyle.h:
939 (WebCore::InheritedFlags::textOverflow):
940 Return TextOverflow enum.
941 (WebCore::InheritedFlags::setTextOverflow):
942 Accept TextOverflow enum parameter.
943 (WebCore::InheritedFlags::initialTextOverflow):
944 Return TextOverflowClip.
945 * rendering/style/RenderStyleConstants.h:
946 Define TextOverflow enum.
947 * rendering/style/StyleRareNonInheritedData.h:
948 Change representation of text overflow from bool to one-bit unsigned.
950 2011-08-16 Jeff Miller <jeffm@apple.com>
952 Apple's Windows production build should fail to compile if AVFoundation is not enabled
953 https://bugs.webkit.org/show_bug.cgi?id=66339
955 Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
957 Reviewed by Darin Adler.
959 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
961 2011-08-16 David Levin <levin@chromium.org>
963 REGRESSION (r89086): All worker xhr requests trigger preflight requests.
964 https://bugs.webkit.org/show_bug.cgi?id=66340
966 Reviewed by Adam Barth.
968 Test coming in a more comprehensive patch shortly. This is just a very targetted
969 patch to allow for easier merging.
971 * loader/CrossOriginAccessControl.cpp:
972 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Add referer to the list
973 of whitelisted headers. It can't be set by xhr so it is ok to whitelist it, but it is
974 set before calling this function. This is similar to what is done for "origin" in here.
976 2011-08-16 Shawn Singh <shawnsingh@chromium.org>
978 Computing screen-space transform for LayerChromium and CCLayerImpl
979 https://bugs.webkit.org/show_bug.cgi?id=66114
981 Reviewed by James Robinson.
983 Test: compositing/backface-visibility-hierarchical-transform.html
985 Added a data member to LayerChromium and CCLayerImpl that holds
986 the screen-space transform. The transform is computed in
987 calculateDrawTransformsAndVisibility(), which is used during
988 updating (LayerChromium) and drawing (CCLayerImpl). This transform
989 will also be used for other things, such as HUD drawing, in upcoming
992 Also fixed a FIXME in LayerRendererChromium::drawLayer, which
993 was not computing the entire hierarchy of transforms to determine
994 back-face visibility. Now it simply uses the screen space transform.
996 * platform/graphics/chromium/LayerChromium.h:
997 (WebCore::LayerChromium::screenSpaceDrawTransform):
998 (WebCore::LayerChromium::setScreenSpaceDrawTransform):
999 * platform/graphics/chromium/LayerRendererChromium.cpp:
1000 (WebCore::LayerRendererChromium::updateLayers):
1001 (WebCore::LayerRendererChromium::drawLayersInternal):
1002 (WebCore::LayerRendererChromium::drawLayer):
1003 (WebCore::calculateDrawTransformsAndVisibility):
1004 * platform/graphics/chromium/cc/CCLayerImpl.h:
1005 (WebCore::CCLayerImpl::screenSpaceDrawTransform):
1006 (WebCore::CCLayerImpl::setScreenSpaceDrawTransform):
1008 2011-08-16 Hayato Ito <hayato@chromium.org>
1010 Implement proper handling of events which happen in children of shadow hosts.
1011 https://bugs.webkit.org/show_bug.cgi?id=66285
1013 Reviewed by Dimitri Glazkov.
1015 Fix the issue where a shadow host stops an event propagation if an
1016 event happens at the children of shadow hosts, outside of the shadow root.
1018 Test: fast/dom/shadow/shadow-contents-event.html
1020 * dom/EventDispatcher.cpp:
1021 (WebCore::EventDispatcher::adjustToShadowBoundaries):
1023 2011-08-16 Per-Erik Brodin <per-erik.brodin@ericsson.com>
1025 Make it possible to explicitly prevent a preflight via ThreadableLoaderOptions
1026 https://bugs.webkit.org/show_bug.cgi?id=65694
1028 Reviewed by Alexey Proskuryakov.
1030 No new tests since there is no change in behavior.
1032 * fileapi/FileReaderLoader.cpp:
1033 (WebCore::FileReaderLoader::start):
1034 * loader/DocumentThreadableLoader.cpp:
1035 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1036 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1037 * loader/ThreadableLoader.h:
1038 (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
1039 * notifications/Notification.cpp:
1040 (WebCore::Notification::startLoading):
1041 * xml/XMLHttpRequest.cpp:
1042 (WebCore::XMLHttpRequest::createRequest):
1044 2011-08-16 Scott Byer <scottbyer@chromium.org>
1047 https://bugs.webkit.org/show_bug.cgi?id=66261
1049 Reviewed by Adam Barth.
1051 No functional change, no tests needed.
1053 * platform/ScrollAnimator.cpp:
1054 (WebCore::ScrollAnimator::scroll):
1055 (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
1056 (WebCore::ScrollAnimator::notifyPositionChanged):
1057 * platform/ScrollAnimator.h:
1058 * platform/ScrollAnimatorNone.cpp:
1059 (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
1060 (WebCore::ScrollAnimatorNone::animationTimerFired):
1061 * platform/ScrollAnimatorWin.cpp:
1062 (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
1063 (WebCore::ScrollAnimatorWin::animateScroll):
1064 * platform/chromium/ScrollAnimatorChromiumMac.h:
1065 * platform/chromium/ScrollAnimatorChromiumMac.mm:
1066 (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
1067 (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
1068 (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
1069 (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
1070 * platform/mac/ScrollAnimatorMac.h:
1071 * platform/mac/ScrollAnimatorMac.mm:
1072 (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
1073 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
1074 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
1075 (WebCore::ScrollAnimatorMac::notifyPositionChanged):
1077 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
1079 ASSERT in fast/css/custom-font-xheight.html
1080 https://bugs.webkit.org/show_bug.cgi?id=66328
1082 Reviewed by Dan Bernstein.
1084 In r93140 the temporary font created for a remote CSS font face
1085 was created without being retained. We need to protect the
1086 font from being purged while we hold onto it, so add a font cache
1089 * css/CSSFontFaceSource.cpp:
1090 (WebCore::CSSFontFaceSource::getFontData):
1092 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
1094 Unreviewed Chromium Windows build fix after r93140. Take 4.
1095 Namespace the now public enum as FontCache::ShouldRetain.
1097 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1098 (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
1100 2011-08-15 Stephen White <senorblanco@chromium.org>
1102 Canvas resizing can be slow
1103 https://bugs.webkit.org/show_bug.cgi?id=66251
1105 Canvas resizing was slow due to re-allocation of the ImageBuffer on
1106 each size change (width or height). This was introduced inadvertently
1107 by calls to isAccelerated() during canvas reset(). Since we won't
1108 know if we have successfully accelerated until ImageBuffer creation,
1109 move the compositor invalidation to createImageBuffer() as well.
1110 This patch also attempts to unify the Skia and CG accelerated canvas
1111 paths. The DrawingBuffer used by the Skia path is now owned by
1112 ImageBuffer[Skia], similar to how the IOSurface is owned by
1113 ImageBuffer[CG]. Some of the logic for when to accelerate was moved
1114 into HTMLCanvasElement and unified with the CG path. Acceleration is
1115 also now enabled by the same "Accelerated" ImageBuffer create flag
1116 used by the CG path. DrawingBuffer is now re-created even for a
1117 same-size change (same as the memory buffer), but we speed it up
1118 by calling GraphicsContext3D::texImage2D() with a NULL pixels ptr
1119 instead of GraphicsContext3D::teximage2DResourceSafe() (no need to
1120 clear it, since it's done with a glClear anyway).
1122 Reviewed by Kenneth Russell.
1124 Covered by existing tests in fast/canvas and canvas/philip.
1126 * html/HTMLCanvasElement.cpp:
1127 (WebCore::HTMLCanvasElement::reset):
1128 Don't call isAccelerated() from reset(), since we don't want to
1129 inadvertently create the ImageBuffer. Also, since we won't know if
1130 we have successfully accelerated until createImageBuffer() is
1131 called, defer the compositor invalidation to createImageBuffer() as
1133 (WebCore::HTMLCanvasElement::shouldAccelerate):
1134 Unify the CG and Skia ports' logic for when to accelerate (Skia
1135 logic moved in from CanvasRenderingContext2D).
1136 (WebCore::HTMLCanvasElement::createImageBuffer):
1137 Use the unified shouldAccelerate() logic, and pass it as a flag
1138 to ImageBuffer. Do compositor invalidation as well.
1139 * html/HTMLCanvasElement.h:
1140 (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
1141 Expose hasCreatedImageBuffer() publically, so
1142 CanvasRenderingContext2D::isAccelerated() doesn't inadvertently create
1144 * html/canvas/CanvasRenderingContext2D.cpp:
1145 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1146 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
1147 Remove all acceleration setting and resetting, since it's now done
1148 during ImageBuffer creation.
1149 (WebCore::CanvasRenderingContext2D::isAccelerated):
1150 Check if the image buffer was created, so we don't inadvertently
1152 (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
1153 Don't call GraphicsContext3D::paintsIntoCanvasBuffer(), since its
1154 WebViewImpl may be null. Ask the render tree instead.
1155 (WebCore::CanvasRenderingContext2D::reset):
1156 Don't reset acceleration here, since we don't own it anymore.
1157 (WebCore::CanvasRenderingContext2D::platformLayer):
1158 Call into the ImageBuffer to get our PlatformLayer.
1159 * html/canvas/CanvasRenderingContext2D.h:
1160 Remove m_drawingBuffer, and all acceleration-related calls.
1161 * platform/graphics/GraphicsContext.cpp:
1162 * platform/graphics/GraphicsContext.h:
1163 Remove setGraphicsContext3D(), and paintsIntoImageBuffer().
1164 * platform/graphics/ImageBuffer.cpp:
1165 (WebCore::ImageBuffer::platformLayer):
1166 Implement a dummy platformLayer() call for non-skia ports.
1167 * platform/graphics/ImageBuffer.h:
1168 Declare a platformLayer() call (USE(ACCELERATED_COMPOSITING) only).
1169 * platform/graphics/chromium/ImageBufferDataSkia.h:
1170 Add a DrawingBuffer data member.
1171 * platform/graphics/gpu/DrawingBuffer.cpp:
1172 (WebCore::DrawingBuffer::reset):
1173 Use texImage2D() with a NULL ptr, not texImage2DResourceSafe().
1174 Since we immediately clear the framebuffer via glClear(), this whole
1175 resource safe business is overkill.
1176 * platform/graphics/skia/GraphicsContextSkia.cpp:
1177 Remove setGraphicsContext3D() and paintsIntoImageBuffer(). This
1178 functionality is handled by ImageBuffer now.
1179 * platform/graphics/skia/ImageBufferSkia.cpp:
1180 (WebCore::ImageBuffer::ImageBuffer):
1181 Give the ImageBufferData ownership of the DrawingBuffer.
1182 (WebCore::ImageBuffer::platformLayer):
1183 Implement an accessor for the DrawingBuffer's PlatformLayer.
1184 * platform/graphics/skia/PlatformContextSkia.cpp:
1185 (WebCore::PlatformContextSkia::setGraphicsContext3D):
1186 * platform/graphics/skia/PlatformContextSkia.h:
1187 Remove isPathSkiaSafe() extern (unused).
1188 Remove paintsIntoImageBuffer() (now unused). Remove IntSize param
1189 from setGraphicsContext3D() (unused).
1191 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
1193 Unreviewed Chromium Windows build fix after r93140. Take 3.
1194 Include the proper includes!
1196 * platform/graphics/FontCache.h:
1198 2011-08-16 Mihnea Ovidenie <mihnea@adobe.com>
1200 Unmatrix algorithm implementation is wrong
1201 https://bugs.webkit.org/show_bug.cgi?id=66080
1203 Reviewed by Dean Jackson.
1205 Current version of the algorithm negates only the scaleX while
1206 it should negate also scaleY and scaleZ when appropriate.
1208 Test: animations/animation-matrix-negative-scale-unmatrix.html
1210 * platform/graphics/transforms/TransformationMatrix.cpp:
1211 (WebCore::decompose):
1213 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
1215 Unreviewed Chromium Windows build fix after r93140.
1217 This just makes the troublesome enum public. If this
1218 fixes the build I will file a follow-up bug to clean-up
1219 these build issues and either keep the enum public and
1220 cleanup other functions or restore the enum to private.
1221 There is no harm in making the enum public right now.
1223 * platform/graphics/FontCache.h:
1225 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
1227 Unreviewed Chromium Windows build fix after r93140.
1229 * platform/graphics/FontCache.h:
1231 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
1233 Unreviewed Windows and Chromium Windows build fix after r93140.
1235 * platform/graphics/FontCache.h:
1236 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1237 (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
1238 (WebCore::getLastResortFallbackFontProc):
1239 (WebCore::FontCache::getLastResortFallbackFont):
1240 * platform/graphics/win/FontCacheWin.cpp:
1241 (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
1242 (WebCore::FontCache::getLastResortFallbackFont):
1244 2011-08-16 Adam Roben <aroben@apple.com>
1246 Make placeholder text remain visible until a character is typed on Windows
1248 Fixes <http://webkit.org/b/66319> Placeholder text in text fields disappears when the field
1249 is focused on Windows, which doesn't match Lion or Windows native text fields
1251 Covered by existing tests (which are currently failing on the bots until this patch lands).
1253 Reviewed by Dave Hyatt.
1255 * rendering/RenderThemeSafari.h:
1256 (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused):
1257 * rendering/RenderThemeWin.h:
1258 (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
1259 Added overrides to return true.
1261 2011-08-16 David Hyatt <hyatt@apple.com>
1263 https://bugs.webkit.org/show_bug.cgi?id=66254
1265 Make region invalidation and repainting work properly. We do this by making RenderFlowThreads into
1266 repaint containers and then issuing new repaints in the regions that contain the invalidated flow thread
1269 Reviewed by Simon Fraser.
1271 Added new tests in fast/repaint.
1273 * rendering/RenderFlowThread.cpp:
1274 (WebCore::RenderFlowThread::repaintRectangleInRegions):
1275 * rendering/RenderFlowThread.h:
1276 * rendering/RenderObject.cpp:
1277 (WebCore::RenderObject::enclosingRenderFlowThread):
1278 (WebCore::RenderObject::containerForRepaint):
1279 (WebCore::RenderObject::repaintUsingContainer):
1280 * rendering/RenderObject.h:
1281 * rendering/RenderView.cpp:
1282 (WebCore::RenderView::RenderView):
1283 (WebCore::RenderView::renderFlowThreadWithName):
1284 * rendering/RenderView.h:
1285 (WebCore::RenderView::hasRenderFlowThreads):
1287 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
1289 Abandoned Memory: Temporary CSS Fonts May Never Be Purged
1290 https://bugs.webkit.org/show_bug.cgi?id=66153
1292 Reviewed by Dan Bernstein.
1294 While a remote CSS font face is loading we fallback to a
1295 temporary font. We don't want to retain the fallback font
1296 because noone takes ownership of the temporary font. This
1297 patch adds a way to get an uncached fallback font, which
1298 plumbs the ShouldRetain enum through the different platform
1299 implementations of getLastResortFallbackFont.
1301 No new tests, no functional change.
1303 * css/CSSFontFaceSource.cpp:
1304 (WebCore::CSSFontFaceSource::getFontData):
1305 * platform/graphics/FontCache.cpp:
1306 (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
1307 * platform/graphics/FontCache.h:
1308 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1309 (WebCore::fontDataFromDescriptionAndLogFont):
1310 (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
1311 (WebCore::getLastResortFallbackFontProc):
1312 (WebCore::FontCache::getLastResortFallbackFont):
1313 * platform/graphics/chromium/FontCacheLinux.cpp:
1314 (WebCore::FontCache::getLastResortFallbackFont):
1315 * platform/graphics/freetype/FontCacheFreeType.cpp:
1316 (WebCore::FontCache::getLastResortFallbackFont):
1317 * platform/graphics/haiku/FontCacheHaiku.cpp:
1318 (WebCore::FontCache::getLastResortFallbackFont):
1319 * platform/graphics/mac/FontCacheMac.mm:
1320 (WebCore::FontCache::getLastResortFallbackFont):
1321 * platform/graphics/pango/FontCachePango.cpp:
1322 (WebCore::FontCache::getLastResortFallbackFont):
1323 * platform/graphics/qt/FontCacheQt.cpp:
1324 (WebCore::FontCache::getLastResortFallbackFont):
1325 * platform/graphics/win/FontCacheWin.cpp:
1326 (WebCore::fontDataFromDescriptionAndLogFont):
1327 (WebCore::FontCache::getLastResortFallbackFont):
1328 * platform/graphics/wince/FontCacheWinCE.cpp:
1329 * platform/graphics/wx/FontCacheWx.cpp:
1330 (WebCore::FontCache::getLastResortFallbackFont):
1332 2011-08-16 Alexei Svitkine <asvitkine@chromium.org>
1334 Chromium Mac: Rubber banding gutter drawing
1335 https://bugs.webkit.org/show_bug.cgi?id=66226
1337 Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
1338 draw the overhang areas.
1339 Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
1340 Add a different implementation for Chromium Mac.
1342 Reviewed by Dimitri Glazkov.
1344 No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
1346 * platform/ScrollView.cpp:
1347 (WebCore::ScrollView::wheelEvent):
1348 * platform/ScrollbarTheme.h:
1349 (WebCore::ScrollbarTheme::paintOverhangAreas):
1350 * platform/ScrollbarThemeComposite.cpp:
1351 (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
1352 * platform/ScrollbarThemeComposite.h:
1353 * platform/chromium/ScrollbarThemeChromiumMac.h:
1354 * platform/chromium/ScrollbarThemeChromiumMac.mm:
1355 (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1356 (WebCore::scrollbarStateToThemeState):
1357 (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
1358 (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
1360 2011-08-12 Wyatt Carss <wcarss@chromium.org>
1362 Programmatically set selection should not have direction on Mac
1363 https://bugs.webkit.org/show_bug.cgi?id=60529
1365 Reviewed by Ryosuke Niwa.
1367 Modified default value of VisibleSelection->m_isDirectional from 'true'
1368 to 'false' by adding a defaulted argument to several VisibleSelection
1369 constructors to make programmatic selection be directionless by default
1370 on Mac. Also modified several calls to VisibleSelection's constructors
1371 to correctly preserve directionality.
1373 Near the end of FrameSelection::modify (presently FrameSelection.cpp:869)
1374 a call to setExtent triggers an editing delegate that uses the
1375 FrameSelection. The direction here should have been preserved from before,
1376 but setIsDirectional was not called until after FrameSelection.cpp:869. It
1377 has been moved up to make things behave.
1380 * editing/ApplyBlockElementCommand.cpp:
1381 (WebCore::ApplyBlockElementCommand::doApply):
1382 (WebCore::ApplyBlockElementCommand::formatSelection):
1383 * editing/ApplyStyleCommand.cpp:
1384 (WebCore::ApplyStyleCommand::updateStartEnd):
1385 * editing/BreakBlockquoteCommand.cpp:
1386 (WebCore::BreakBlockquoteCommand::doApply):
1387 * editing/CompositeEditCommand.cpp:
1388 (WebCore::CompositeEditCommand::moveParagraphWithClones):
1389 (WebCore::CompositeEditCommand::moveParagraphs):
1390 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1391 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1392 * editing/CreateLinkCommand.cpp:
1393 (WebCore::CreateLinkCommand::doApply):
1394 * editing/DeleteSelectionCommand.cpp:
1395 (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
1396 (WebCore::DeleteSelectionCommand::doApply):
1397 * editing/Editor.cpp:
1398 (WebCore::Editor::selectionForCommand):
1399 * editing/FrameSelection.cpp:
1400 (WebCore::shouldAlwaysUseDirectionalSelection):
1401 (WebCore::FrameSelection::FrameSelection):
1402 (WebCore::FrameSelection::moveTo):
1403 (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
1404 (WebCore::FrameSelection::modify):
1405 (WebCore::FrameSelection::setBase):
1406 (WebCore::FrameSelection::setExtent):
1407 * editing/FrameSelection.h:
1408 * editing/InsertLineBreakCommand.cpp:
1409 (WebCore::InsertLineBreakCommand::doApply):
1410 * editing/InsertListCommand.cpp:
1411 (WebCore::InsertListCommand::doApply):
1412 * editing/InsertParagraphSeparatorCommand.cpp:
1413 (WebCore::InsertParagraphSeparatorCommand::doApply):
1414 * editing/InsertTextCommand.cpp:
1415 (WebCore::InsertTextCommand::performTrivialReplace):
1416 (WebCore::InsertTextCommand::doApply):
1417 * editing/MoveSelectionCommand.cpp:
1418 (WebCore::MoveSelectionCommand::doApply):
1419 * editing/ReplaceSelectionCommand.cpp:
1420 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
1421 * editing/TypingCommand.cpp:
1422 (WebCore::TypingCommand::makeEditableRootEmpty):
1423 (WebCore::TypingCommand::deleteKeyPressed):
1424 (WebCore::TypingCommand::forwardDeleteKeyPressed):
1425 * editing/VisibleSelection.cpp:
1426 (WebCore::VisibleSelection::VisibleSelection):
1427 * editing/VisibleSelection.h:
1428 * page/EventHandler.cpp:
1429 (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
1430 (WebCore::EventHandler::updateSelectionForMouseDrag):
1432 2011-08-16 Jeffrey Pfau <jpfau@apple.com>
1434 New XML parser: Add document fragment parser
1435 https://bugs.webkit.org/show_bug.cgi?id=66317
1437 Reviewed by Adam Barth.
1439 * dom/DocumentFragment.cpp:
1440 (WebCore::DocumentFragment::parseXML):
1441 * xml/parser/NewXMLDocumentParser.cpp:
1442 (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
1443 (WebCore::NewXMLDocumentParser::parseDocumentFragment):
1444 * xml/parser/NewXMLDocumentParser.h:
1445 (WebCore::NewXMLDocumentParser::create):
1446 * xml/parser/XMLTokenizer.h:
1447 * xml/parser/XMLTreeBuilder.cpp:
1448 (WebCore::XMLTreeBuilder::XMLTreeBuilder):
1449 (WebCore::XMLTreeBuilder::pushCurrentNode):
1450 * xml/parser/XMLTreeBuilder.h:
1451 (WebCore::XMLTreeBuilder::create):
1452 (WebCore::XMLTreeBuilder::NodeStackItem::node):
1454 2011-08-16 Jeffrey Pfau <jpfau@apple.com>
1456 New XML parser: Replace assertions regarding character data in the prolog with proper checks
1457 https://bugs.webkit.org/show_bug.cgi?id=66269
1459 Reviewed by Adam Barth.
1461 This patch checks for character data in the prolog (which is illegal in XML) and discards it, instead of failing an assertion.
1463 * xml/parser/XMLTreeBuilder.cpp:
1464 (WebCore::XMLTreeBuilder::processProcessingInstruction):
1465 (WebCore::XMLTreeBuilder::processXMLDeclaration):
1466 (WebCore::XMLTreeBuilder::processDOCTYPE):
1467 (WebCore::XMLTreeBuilder::enterText):
1468 (WebCore::XMLTreeBuilder::failOnText):
1469 * xml/parser/XMLTreeBuilder.h:
1471 2011-08-16 Alexander Pavlov <apavlov@chromium.org>
1473 Web Inspector: word wrap long edits
1474 https://bugs.webkit.org/show_bug.cgi?id=65512
1476 Reviewed by Pavel Feldman.
1478 * inspector/front-end/inspector.css:
1479 (.styles-section .properties li.child-editing):
1481 2011-08-16 Pavel Feldman <pfeldman@google.com>
1483 Web Inspector: convert DOM breakpoint types to strings.
1484 https://bugs.webkit.org/show_bug.cgi?id=66304
1486 Reviewed by Yury Semikhatsky.
1488 * inspector/Inspector.json:
1489 * inspector/InspectorDOMDebuggerAgent.cpp:
1490 (WebCore::domTypeForName):
1491 (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
1492 (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
1493 * inspector/InspectorDOMDebuggerAgent.h:
1494 * inspector/front-end/DOMBreakpointsSidebarPane.js:
1495 (WebInspector.DOMBreakpointsSidebarPane):
1497 2011-08-16 Pavel Feldman <pfeldman@google.com>
1499 Web Inspector: force pseudo element state when checking it in the styles sidebar.
1500 https://bugs.webkit.org/show_bug.cgi?id=66292
1502 This reverts http://trac.webkit.org/changeset/89132 and introduces InspectorInstrumentation
1503 calls from the CSSStyleSelector for pseudo state processing. These calls are very fast:
1504 they are guarded with the inline checks for the front-end count.
1506 Reviewed by David Hyatt.
1508 * css/CSSStyleSelector.cpp:
1509 (WebCore::CSSStyleSelector::initForStyleResolve):
1510 (WebCore::CSSStyleSelector::styleRulesForElement):
1511 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
1512 (WebCore::CSSStyleSelector::checkSelector):
1513 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1514 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1515 * css/CSSStyleSelector.h:
1516 * inspector/InspectorCSSAgent.cpp:
1517 (WebCore::computePseudoClassMask):
1518 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
1519 (WebCore::InspectorCSSAgent::clearFrontend):
1520 (WebCore::InspectorCSSAgent::forcePseudoState):
1521 (WebCore::InspectorCSSAgent::getStylesForNode):
1522 (WebCore::InspectorCSSAgent::didRemoveDocument):
1523 (WebCore::InspectorCSSAgent::didRemoveDOMNode):
1524 (WebCore::InspectorCSSAgent::clearPseudoState):
1525 * inspector/InspectorCSSAgent.h:
1526 * inspector/InspectorController.cpp:
1527 (WebCore::InspectorController::disconnectFrontend):
1528 * inspector/InspectorInstrumentation.cpp:
1529 (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
1530 * inspector/InspectorInstrumentation.h:
1531 (WebCore::InspectorInstrumentation::forcePseudoState):
1533 2011-08-16 Tony Chang <tony@chromium.org>
1535 Unreviewed, rolling out r93114.
1536 http://trac.webkit.org/changeset/93114
1537 https://bugs.webkit.org/show_bug.cgi?id=66226
1539 broke the chromium mac compile
1541 * platform/ScrollView.cpp:
1542 (WebCore::ScrollView::wheelEvent):
1543 * platform/ScrollbarTheme.h:
1544 * platform/ScrollbarThemeComposite.cpp:
1545 * platform/ScrollbarThemeComposite.h:
1546 * platform/chromium/ScrollbarThemeChromiumMac.h:
1547 * platform/chromium/ScrollbarThemeChromiumMac.mm:
1548 (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1549 (WebCore::scrollbarStateToThemeState):
1550 (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
1551 * platform/mac/ScrollbarThemeMac.h:
1553 2011-08-16 Alexei Svitkine <asvitkine@chromium.org>
1555 Chromium Mac: Rubber banding gutter drawing
1556 https://bugs.webkit.org/show_bug.cgi?id=66226
1558 Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
1559 draw the overhang areas.
1560 Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
1561 Add a different implementation for Chromium Mac.
1563 Reviewed by Dimitri Glazkov.
1565 No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
1567 * platform/ScrollView.cpp:
1568 (WebCore::ScrollView::wheelEvent):
1569 * platform/ScrollbarTheme.h:
1570 (WebCore::ScrollbarTheme::paintOverhangAreas):
1571 * platform/ScrollbarThemeComposite.cpp:
1572 (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
1573 * platform/ScrollbarThemeComposite.h:
1574 * platform/chromium/ScrollbarThemeChromiumMac.h:
1575 * platform/chromium/ScrollbarThemeChromiumMac.mm:
1576 (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1577 (WebCore::scrollbarStateToThemeState):
1578 (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
1579 (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
1581 2011-08-16 Luke Macpherson <macpherson@chromium.org>
1583 Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
1584 https://bugs.webkit.org/show_bug.cgi?id=66273
1586 Reviewed by Simon Fraser.
1588 No new tests - no functionality changed - refactoring only.
1590 * css/CSSPrimitiveValueMappings.h:
1591 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1592 Define cast from CSSPrimitiveValue to ETransformStyle3D.
1593 (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
1594 Define cast from ETransformStyle3D to CSSPrimitiveValue.
1595 * css/CSSStyleSelector.cpp:
1596 (WebCore::CSSStyleSelector::applyProperty):
1597 Use appropriate macro to handle CSSPropertyWebkitTransformStyle.
1599 2011-08-16 Luke Macpherson <macpherson@chromium.org>
1601 Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
1602 https://bugs.webkit.org/show_bug.cgi?id=66279
1604 Reviewed by Simon Fraser.
1606 No new tests - no functionality changed - simple refactoring only.
1608 * css/CSSStyleSelector.cpp:
1609 (WebCore::CSSStyleSelector::applyProperty):
1610 Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to handle CSSPropertyWebkitContentOrder.
1611 This works because PrimitiveValue now supports cast to int.
1613 2011-08-16 Eric Carlson <eric.carlson@apple.com>
1615 [REGRESSION] Media controls should always be enabled when scripting is disabled
1616 https://bugs.webkit.org/show_bug.cgi?id=66303
1618 Reviewed by Dimitri Glazkov.
1620 Tests: media/video-controls-no-scripting-iframe.html
1621 media/video-controls-no-scripting.html
1623 * html/HTMLMediaElement.cpp:
1624 (WebCore::HTMLMediaElement::attributeChanged): Move the controls enabling/disabling code
1625 to configureMediaControls.
1626 (WebCore::HTMLMediaElement::prepareForLoad): Call configureMediaControls.
1627 (WebCore::HTMLMediaElement::configureMediaControls): New, move code duplicated in
1628 attributeChanged and preDispatchEventHandler here.
1629 (WebCore::HTMLMediaElement::preDispatchEventHandler): Move the controls enabling/disabling code
1630 to configureMediaControls.
1631 * html/HTMLMediaElement.h:
1633 2011-08-16 Pavel Feldman <pfeldman@google.com>
1635 Web Inspector: hide non-conservative methods from the protocol documentation.
1636 https://bugs.webkit.org/show_bug.cgi?id=66301
1638 Reviewed by Yury Semikhatsky.
1640 * inspector/Inspector.json:
1642 2011-08-16 Andras Becsi <abecsi@webkit.org>
1644 Web Inspector: nuke background events collection (dead feature)
1645 https://bugs.webkit.org/show_bug.cgi?id=66296
1647 Fix the GTK build after r93095.
1649 Unreviewed build fix.
1653 * GNUmakefile.list.am: Remove nonexistent sources.
1655 2011-08-16 Andras Becsi <abecsi@webkit.org>
1657 Reviewed by Csaba Osztrogonác.
1659 Need AtomicStrings for the various font family names
1660 https://bugs.webkit.org/show_bug.cgi?id=28024
1662 Unify the usage of '-webkit' prefixed font family names by using
1663 global AtomicStrings.
1664 Use a .in file to generate the needed sources through make_names.pl.
1666 No new tests needed.
1669 * CodeGenerators.pri:
1670 * DerivedSources.make:
1672 * GNUmakefile.list.am:
1673 * WebCore.gyp/WebCore.gyp:
1674 * WebCore.gyp/scripts/action_makenames.py:
1676 * WebCore.vcproj/WebCore.vcproj:
1677 * WebCore.xcodeproj/project.pbxproj:
1678 * css/CSSComputedStyleDeclaration.cpp:
1679 (WebCore::identifierForFamily):
1680 * css/CSSFontSelector.cpp:
1681 (WebCore::CSSFontSelector::addFontFaceRule):
1682 (WebCore::fontDataForGenericFamily):
1683 * css/CSSStyleSelector.cpp:
1684 (WebCore::CSSStyleSelector::applyProperty):
1685 * css/WebKitFontFamilyNames.in: Added.
1686 * dom/make_names.pl:
1688 (WebCore::Frame::Frame):
1689 * platform/graphics/FontCache.cpp:
1690 (WebCore::FontCache::getFontData):
1691 * platform/graphics/FontDescription.h:
1692 (WebCore::FontDescription::useFixedDefaultSize):
1694 2011-08-16 Pavel Feldman <pfeldman@google.com>
1696 Web Inspector: nuke background events collection (dead feature)
1697 https://bugs.webkit.org/show_bug.cgi?id=66296
1699 Reviewed by Yury Semikhatsky.
1704 * WebCore.vcproj/WebCore.vcproj:
1705 * WebCore.xcodeproj/project.pbxproj:
1706 * inspector/EventsCollector.cpp: Removed.
1707 * inspector/EventsCollector.h: Removed.
1708 * inspector/Inspector.json:
1709 * inspector/InspectorFrontendProxy.cpp: Removed.
1710 * inspector/InspectorFrontendProxy.h: Removed.
1711 * inspector/InspectorResourceAgent.cpp:
1712 (WebCore::InspectorResourceAgent::setFrontend):
1713 (WebCore::InspectorResourceAgent::clearFrontend):
1714 (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1715 * inspector/InspectorResourceAgent.h:
1716 * inspector/front-end/NetworkPanel.js:
1717 (WebInspector.NetworkLogView):
1719 2011-08-16 Lindsay Mathieson <lindsay.mathieson@gmail.com>
1721 [Qt] Missing spell check support
1722 https://bugs.webkit.org/show_bug.cgi?id=44114
1724 Reviewed by Benjamin Poulain.
1726 Add drawErrorUnderline() from Cairo to render the line for text checking on the Qt port.
1728 * platform/graphics/qt/GraphicsContextQt.cpp:
1729 (WebCore::drawErrorUnderline):
1730 (WebCore::GraphicsContext::drawLineForTextChecking):
1732 2011-08-15 MORITA Hajime <morrita@google.com>
1734 REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent from updating <textarea> value.
1735 https://bugs.webkit.org/show_bug.cgi?id=66216
1737 Reviewed by Ryosuke Niwa.
1739 Element::spellcheckAttributeState() uses Element::hasAttribute(),
1740 which calls updateStyleAttribute(), which potentially makes style
1741 dirty. But that is problematic since Editor calls spellcheckAttributeState()
1742 during the spell-checking phase and make the style dirty,
1743 which can trigger re-layout, which wipes the shadow tree of a textarea
1744 out by pre-committed "value" text.
1746 This change removes the hasAttribute() call from
1747 spellcheckAttributeState().
1749 Test: editing/input/style-change-during-input.html
1752 (WebCore::Element::spellcheckAttributeState):
1754 2011-08-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1756 [CMAKE] Wrap files of websocket and worker in each macro.
1757 https://bugs.webkit.org/show_bug.cgi?id=65012
1759 Move files of web socket and workers into each macro block in CMakeList.txt.
1760 And, header files related to WORKER and SHARED_WORKER are wrapped by macro in cpp files.
1762 Reviewed by Daniel Bates.
1766 * bindings/js/JSDOMWindowCustom.cpp:
1767 * bindings/js/JSWorkerContextBase.cpp:
1768 * bindings/js/ScriptState.cpp:
1769 * bindings/js/WorkerScriptController.cpp:
1771 2011-08-15 Jeffrey Pfau <jpfau@apple.com>
1773 New XML parser: add xml namespace to the default map of namespaces
1774 https://bugs.webkit.org/show_bug.cgi?id=66266
1776 Reviewed by Adam Barth.
1778 * xml/parser/XMLTreeBuilder.cpp:
1779 (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
1781 2011-08-15 Hayato Ito <hayato@chromium.org>
1783 Fix crash when mouse moves from <summary> element to parent <details> element.
1784 https://bugs.webkit.org/show_bug.cgi?id=66210
1786 Reviewed by Dimitri Glazkov.
1788 This is a regression caused by r92922, which wrongly assumes that
1789 a shadow host always has a shadow root as an immediate child in
1790 ancestors chain. This assumption does not apply to <details>
1791 element. <details> element is implemented as a shadow host, but
1792 may have a <summary> element as an immediate child element in
1795 Test: fast/dom/shadow/details-summary-mouseover.html
1797 * dom/EventDispatcher.cpp:
1798 (WebCore::EventDispatcher::adjustToShadowBoundaries):
1800 2011-08-15 Jeffrey Pfau <jpfau@apple.com>
1802 New XML parser: Use xmlnsAtom instead of redundant xmlnsPrefix
1803 https://bugs.webkit.org/show_bug.cgi?id=66264
1805 Reviewed by Adam Barth.
1807 * xml/parser/XMLTreeBuilder.cpp:
1808 (WebCore::XMLTreeBuilder::processNamespaces):
1809 (WebCore::XMLTreeBuilder::processAttributes):
1811 2011-08-15 Emil A Eklund <eae@chromium.org>
1813 Switch Element/Node to to new layout types
1814 https://bugs.webkit.org/show_bug.cgi?id=66260
1816 Reviewed by Eric Seidel.
1818 Convert Element, Node, ElementRareData and ContainerNode to new layout
1819 abstraction as a part of the ongoing conversion work.
1821 No new tests, no new functionality.
1823 * dom/ContainerNode.cpp:
1824 (WebCore::ContainerNode::getLowerRightCorner):
1825 (WebCore::ContainerNode::getRect):
1826 * dom/ContainerNode.h:
1828 (WebCore::Element::scrollIntoView):
1829 (WebCore::Element::scrollIntoViewIfNeeded):
1830 (WebCore::adjustForLocalZoom):
1831 (WebCore::Element::boundsInWindowSpace):
1832 (WebCore::Element::getClientRects):
1833 (WebCore::Element::getBoundingClientRect):
1834 (WebCore::Element::screenRect):
1835 (WebCore::Element::minimumSizeForResizing):
1836 (WebCore::Element::setMinimumSizeForResizing):
1838 * dom/ElementRareData.h:
1840 (WebCore::Node::getRect):
1841 (WebCore::Node::renderRect):
1842 (WebCore::Node::hasNonEmptyBoundingBox):
1845 2011-08-15 Alexey Proskuryakov <ap@apple.com>
1847 Regional indicator symbols that are combined should behave as a single character when editing
1848 https://bugs.webkit.org/show_bug.cgi?id=65395
1850 Reviewed by Dan Bernstein.
1852 Part one: make backspace work.
1854 Test: editing/deleting/regional-indicators.html
1856 * rendering/RenderText.cpp:
1857 (WebCore::isRegionalIndicator):
1858 (WebCore::RenderText::previousOffsetForBackwardDeletion): Added a special case for regional
1861 2011-08-15 Jeffrey Pfau <jpfau@apple.com>
1863 New XML parser: Re-entering a character node should not clobber the buffered characters
1864 https://bugs.webkit.org/show_bug.cgi?id=66257
1866 Reviewed by Adam Barth.
1868 * xml/parser/XMLTreeBuilder.cpp:
1869 (WebCore::XMLTreeBuilder::enterText):
1871 2011-08-15 Dmitry Titov <dimich@chromium.org>
1873 FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
1874 https://bugs.webkit.org/show_bug.cgi?id=66165
1876 Reviewed by Darin Fisher.
1878 No new tests since no change in behavior.
1879 The original issue is only reproducible on Chromium in multi-process mode
1880 and is tested there by a browsertest.
1882 * loader/DocumentLoader.cpp:
1883 (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
1884 Passing ResourceLoader* into the FrameLoaderClient notification.
1885 Also, fixed the bug where the same ResourceRequest was passed for all subresources.
1886 * loader/EmptyClients.h:
1887 (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
1888 * loader/FrameLoader.cpp:
1889 (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
1890 * loader/FrameLoader.h:
1891 * loader/FrameLoaderClient.h:
1892 * loader/ResourceLoadNotifier.cpp:
1893 (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
1894 * loader/ResourceLoadNotifier.h:
1895 * loader/ResourceLoader.cpp:
1896 (WebCore::ResourceLoader::init):
1897 * loader/ResourceLoader.h:
1898 (WebCore::ResourceLoader::originalRequest): Added the originalRequest() accessor that
1899 returns the request as it existed before redirects (but after client's will SendRequest).
1900 This is to be able to pass the original request for loading subresources into
1901 FrameLoaderClient::transferLoadingResourceFromPage, since that one is used to invoke
1902 assignIdentifierToInitialRequest, which needs original request.
1904 2011-08-15 Mark Hahnenberg <mhahnenberg@apple.com>
1906 Refactor JS objects to allocate in static create methods rather than constructors
1907 https://bugs.webkit.org/show_bug.cgi?id=65347
1909 Reviewed by Geoffrey Garen.
1913 Removed all calls to deprecatedGetDOMObject from initialization lists as part of a
1914 larger refactoring to get rid of all allocation during initialization.
1916 * bindings/js/JSDOMBinding.h:
1917 * bridge/c/CRuntimeObject.cpp:
1918 (JSC::Bindings::CRuntimeObject::CRuntimeObject):
1919 * bridge/c/CRuntimeObject.h:
1920 (JSC::Bindings::CRuntimeObject::create):
1921 * bridge/c/c_instance.cpp:
1922 (JSC::Bindings::CRuntimeMethod::create):
1923 (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
1924 * bridge/jni/jsc/JavaInstanceJSC.cpp:
1925 (JavaRuntimeMethod::create):
1926 (JavaRuntimeMethod::JavaRuntimeMethod):
1927 * bridge/jni/jsc/JavaRuntimeObject.cpp:
1928 (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
1929 * bridge/jni/jsc/JavaRuntimeObject.h:
1930 (JSC::Bindings::JavaRuntimeObject::create):
1931 * bridge/objc/objc_runtime.h:
1932 (JSC::Bindings::ObjcFallbackObjectImp::create):
1933 * bridge/objc/objc_runtime.mm:
1934 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1935 * bridge/qt/qt_instance.cpp:
1936 (JSC::Bindings::QtRuntimeObject::create):
1937 (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
1938 * bridge/qt/qt_pixmapruntime.cpp:
1939 (JSC::Bindings::QtPixmapRuntimeObject::create):
1940 (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
1941 * bridge/qt/qt_runtime.cpp:
1942 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1943 (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
1944 (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
1945 * bridge/qt/qt_runtime.h:
1946 (JSC::Bindings::QtRuntimeMetaMethod::create):
1947 (JSC::Bindings::QtRuntimeConnectionMethod::create):
1948 * bridge/runtime_array.cpp:
1949 (JSC::RuntimeArray::RuntimeArray):
1950 * bridge/runtime_array.h:
1951 (JSC::RuntimeArray::create):
1952 * bridge/runtime_object.cpp:
1954 2011-08-15 Adam Roben <aroben@apple.com>
1956 Update pages' style and content scale when the window's backing scale factor changes
1958 Unfortunately, I couldn't think of a way to test this in an automated fashion.
1960 Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
1961 scale factor changes
1963 Reviewed by Simon Fraser.
1965 * WebCore.exp.in: Export Frame::deviceOrScaleFactorChanged.
1968 (WebCore::Frame::deviceScaleFactorChanged):
1970 Added this new function. We recalc style so that, e.g., device-scale-factor-dependent media
1971 queries will be reevaluated, and we tell compositing layers about the new scale factor so
1972 they can rerender at the new resolution.
1974 2011-08-15 Cary Clark <caryclark@google.com>
1976 Revise Skia on Chrome Mac to return fallback fonts.
1977 https://bugs.webkit.org/show_bug.cgi?id=62986
1979 Reviewed by Darin Fisher.
1981 Since Skia on Chrome Mac uses CoreText to determine
1982 text metrics, CG font architecture is used to return
1985 This improves many existing layout tests, including
1986 justify-ideograph-simple and t0905-c414-flt-04-c
1988 * platform/graphics/skia/FontSkia.cpp:
1989 (WebCore::Font::canReturnFallbackFontsForComplexText):
1991 2011-08-15 Aaron Boodman <aa@chromium.org>
1993 Pass additional details to client in didCreateIsolatedContext
1994 https://bugs.webkit.org/show_bug.cgi?id=66037
1996 Reviewed by Darin Fisher.
1998 * bindings/v8/IsolatedWorld.cpp:
1999 (WebCore::IsolatedWorld::IsolatedWorld):
2000 * bindings/v8/IsolatedWorld.h:
2001 (WebCore::IsolatedWorld::create):
2002 (WebCore::IsolatedWorld::id):
2003 * bindings/v8/V8IsolatedContext.cpp:
2004 (WebCore::V8IsolatedContext::V8IsolatedContext):
2005 * bindings/v8/V8IsolatedContext.h:
2006 * bindings/v8/V8Proxy.cpp:
2007 (WebCore::V8Proxy::evaluateInIsolatedWorld):
2008 * loader/EmptyClients.h:
2009 (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
2010 * loader/FrameLoaderClient.h:
2012 2011-08-15 Chris Rogers <crogers@google.com>
2014 Add shell implementation for Web Audio API's MediaElementAudioSourceNode
2015 https://bugs.webkit.org/show_bug.cgi?id=66175
2017 Reviewed by Kenneth Russell.
2019 Test: webaudio/mediaelementaudiosourcenode.html
2021 * DerivedSources.make:
2023 * WebCore.xcodeproj/project.pbxproj:
2024 * html/HTMLMediaElement.idl:
2025 * webaudio/AudioContext.cpp:
2026 (WebCore::AudioContext::createMediaElementSource):
2027 * webaudio/AudioContext.h:
2028 * webaudio/AudioContext.idl:
2029 * webaudio/AudioNode.h:
2030 * webaudio/MediaElementAudioSourceNode.cpp: Added.
2031 (WebCore::MediaElementAudioSourceNode::create):
2032 (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
2033 (WebCore::MediaElementAudioSourceNode::process):
2034 (WebCore::MediaElementAudioSourceNode::reset):
2035 * webaudio/MediaElementAudioSourceNode.h: Added.
2036 (WebCore::MediaElementAudioSourceNode::mediaElement):
2037 * webaudio/MediaElementAudioSourceNode.idl: Added.
2039 2011-08-15 Emil A Eklund <eae@chromium.org>
2041 Switch mouse events to to new layout types
2042 https://bugs.webkit.org/show_bug.cgi?id=66179
2044 Reviewed by Eric Seidel.
2046 Convert mouse events to new layout abstraction as a part of the ongoing
2049 No new tests, no new functionality.
2051 * dom/MouseRelatedEvent.cpp:
2052 (WebCore::contentsScrollOffset):
2053 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2054 (WebCore::MouseRelatedEvent::initCoordinates):
2055 (WebCore::MouseRelatedEvent::computePageLocation):
2056 (WebCore::MouseRelatedEvent::computeRelativePosition):
2057 (WebCore::MouseRelatedEvent::pageLocation):
2058 * dom/MouseRelatedEvent.h:
2059 (WebCore::MouseRelatedEvent::screenLocation):
2060 (WebCore::MouseRelatedEvent::clientLocation):
2061 (WebCore::MouseRelatedEvent::absoluteLocation):
2062 (WebCore::MouseRelatedEvent::setAbsoluteLocation):
2063 * page/EventHandler.cpp:
2064 (WebCore::EventHandler::clear):
2065 (WebCore::EventHandler::handleMousePressEventSingleClick):
2066 (WebCore::selectionExtentRespectingEditingBoundary):
2067 (WebCore::EventHandler::hitTestResultAtPoint):
2068 (WebCore::EventHandler::currentMousePosition):
2069 (WebCore::documentPointForWindowPoint):
2070 (WebCore::EventHandler::handleMousePressEvent):
2071 (WebCore::EventHandler::mouseMoved):
2072 (WebCore::EventHandler::handleWheelEvent):
2073 (WebCore::EventHandler::sendContextMenuEvent):
2074 (WebCore::EventHandler::sendContextMenuEventForKey):
2075 (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2076 (WebCore::EventHandler::dragHysteresisExceeded):
2077 (WebCore::EventHandler::handleDrag):
2078 (WebCore::EventHandler::handleTouchEvent):
2079 * page/EventHandler.h:
2080 * platform/PlatformMouseEvent.h:
2081 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2082 (WebCore::PlatformMouseEvent::pos):
2083 (WebCore::PlatformMouseEvent::x):
2084 (WebCore::PlatformMouseEvent::y):
2085 (WebCore::PlatformMouseEvent::globalX):
2086 (WebCore::PlatformMouseEvent::globalY):
2087 * platform/mac/PlatformMouseEventMac.mm:
2088 (WebCore::globalPoint):
2089 (WebCore::pointForEvent):
2090 (WebCore::globalPointForEvent):
2092 2011-08-15 Ryosuke Niwa <rniwa@webkit.org>
2094 webkit-indent-blockquote is unnecessary
2095 https://bugs.webkit.org/show_bug.cgi?id=66195
2097 Reviewed by Tony Chang.
2099 Stop adding class="webkit-indent-blockquote" on blockquotes created by execCommand('Indent') and
2100 execCommand('Outdent'). Also removed the code to add the class attribute in ApplyBlockElementCommand
2101 since no other class inherited from ApplyBlockElementCommand uses this feature.
2103 * editing/ApplyBlockElementCommand.cpp:
2104 (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand):
2105 (WebCore::ApplyBlockElementCommand::createBlockElement):
2106 * editing/ApplyBlockElementCommand.h:
2107 * editing/IndentOutdentCommand.cpp:
2108 (WebCore::IndentOutdentCommand::IndentOutdentCommand):
2110 2011-08-15 Levi Weintraub <leviw@chromium.org>
2112 Switch remaining SVG Rendering methods to LayoutUnits
2113 https://bugs.webkit.org/show_bug.cgi?id=66169
2115 Reviewed by Eric Seidel.
2117 Changing remaining integer SVG methods to use the LayoutUnits abstraction.
2119 No tests as no change in functionality.
2121 * rendering/svg/RenderSVGBlock.cpp:
2122 (WebCore::RenderSVGBlock::visualOverflowRect):
2123 * rendering/svg/RenderSVGBlock.h:
2124 * rendering/svg/RenderSVGContainer.cpp:
2125 (WebCore::RenderSVGContainer::paint):
2126 * rendering/svg/RenderSVGForeignObject.cpp:
2127 (WebCore::RenderSVGForeignObject::paint):
2128 (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
2129 (WebCore::RenderSVGForeignObject::computeRectForRepaint):
2130 * rendering/svg/RenderSVGHiddenContainer.cpp:
2131 (WebCore::RenderSVGHiddenContainer::paint):
2132 * rendering/svg/RenderSVGImage.cpp:
2133 (WebCore::RenderSVGImage::paint):
2134 * rendering/svg/RenderSVGInlineText.cpp:
2135 (WebCore::RenderSVGInlineText::linesBoundingBox):
2136 * rendering/svg/RenderSVGInlineText.h:
2137 * rendering/svg/RenderSVGModelObject.cpp:
2138 (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
2139 * rendering/svg/RenderSVGPath.cpp:
2140 (WebCore::RenderSVGPath::paint):
2141 * rendering/svg/RenderSVGRoot.cpp:
2142 (WebCore::RenderSVGRoot::localToBorderBoxTransform):
2143 (WebCore::RenderSVGRoot::parentOriginToBorderBox):
2144 (WebCore::RenderSVGRoot::borderOriginToContentBox):
2145 (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
2146 (WebCore::RenderSVGRoot::localToParentTransform):
2147 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
2148 (WebCore::RenderSVGRoot::computeRectForRepaint):
2149 * rendering/svg/RenderSVGRoot.h:
2150 * rendering/svg/RenderSVGText.cpp:
2151 (WebCore::RenderSVGText::paint):
2152 * rendering/svg/SVGInlineFlowBox.cpp:
2153 (WebCore::SVGInlineFlowBox::paint):
2154 * rendering/svg/SVGInlineTextBox.cpp:
2155 (WebCore::SVGInlineTextBox::paint):
2156 * rendering/svg/SVGRenderSupport.cpp:
2157 (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
2158 (WebCore::SVGRenderSupport::computeRectForRepaint):
2159 * rendering/svg/SVGRenderSupport.h:
2160 * rendering/svg/SVGRootInlineBox.cpp:
2161 (WebCore::SVGRootInlineBox::paint):
2162 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
2163 (WebCore::SVGRootInlineBox::layoutChildBoxes):
2164 (WebCore::SVGRootInlineBox::layoutRootBox):
2165 (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
2166 * rendering/svg/SVGRootInlineBox.h:
2168 2011-08-12 Jeff Miller <jeffm@apple.com>
2170 MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
2171 https://bugs.webkit.org/show_bug.cgi?id=66171
2173 MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
2174 to match the Mac implementation in MediaPlayerPrivateAVFoundationObjC. I also added better logging to notificationCallback().
2176 Reviewed by Jon Honeycutt.
2178 No new tests, uses existing media tests.
2180 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
2181 (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus): Return MediaPlayerAVPlayerItemStatusDoesNotExist if no AVPlayerItem.
2182 (WebCore::AVFWrapper::notificationCallback): Log the name of the received notification.
2184 2011-08-15 Adam Roben <aroben@apple.com>
2186 Rename an instance of pageScaleFactorChanged I missed in r93040
2188 I tried to make a test for this but failed. It would probably have been easier if we dumped
2189 layers' content scales in layerTreeAsText output.
2191 Followup to <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to
2192 the device scale factor
2194 * platform/graphics/ca/GraphicsLayerCA.cpp:
2195 (WebCore::GraphicsLayerCA::deviceOrPageScaleFactorChanged):
2196 * platform/graphics/ca/GraphicsLayerCA.h:
2197 Renamed from pageScaleFactorChanged to match the base class.
2199 2011-08-15 Pavel Feldman <pfeldman@google.com>
2201 Web Inspector: [V8] crash upon stepIn while not on pause.
2202 https://bugs.webkit.org/show_bug.cgi?id=66221
2204 Reviewed by Yury Semikhatsky.
2206 * inspector/InspectorDebuggerAgent.cpp:
2207 (WebCore::InspectorDebuggerAgent::resume):
2208 (WebCore::InspectorDebuggerAgent::stepOver):
2209 (WebCore::InspectorDebuggerAgent::stepInto):
2210 (WebCore::InspectorDebuggerAgent::stepOut):
2211 (WebCore::InspectorDebuggerAgent::assertPaused):
2212 * inspector/InspectorDebuggerAgent.h:
2213 * inspector/front-end/ScriptsPanel.js:
2214 (WebInspector.ScriptsPanel.prototype._stepOverClicked):
2215 (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
2216 (WebInspector.ScriptsPanel.prototype._stepOutClicked):
2218 2011-08-15 Vsevolod Vlasov <vsevik@chromium.org>
2220 Web Inspector: Network panel: display the current search match index in the toolbar.
2221 https://bugs.webkit.org/show_bug.cgi?id=66051
2223 Reviewed by Pavel Feldman.
2225 * inspector/front-end/NetworkPanel.js:
2226 (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
2227 (WebInspector.NetworkLogView.prototype.performSearch):
2228 (WebInspector.NetworkPanel):
2229 (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
2230 (WebInspector.NetworkPanel.prototype._onSearchIndexUpdated):
2232 2011-08-10 Adam Roben <aroben@apple.com>
2234 Clear up scale factor terminology
2236 WebKit by and large deals with two scale factors: one intrinsic to the device on which the
2237 software is running, and one that is per-Page and can be controlled via API calls. This
2238 patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
2239 code use those names. It should introduce no behavior changes.
2241 Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
2244 Reviewed by Simon Fraser.
2246 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2247 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2248 Removed an unused member. This is unrelated to this patch.
2250 * css/MediaQueryEvaluator.cpp:
2251 * html/HTMLCanvasElement.cpp:
2252 * html/HTMLCanvasElement.h:
2253 * loader/EmptyClients.h:
2256 * page/ChromeClient.h:
2257 * page/DOMWindow.cpp:
2260 * platform/graphics/GraphicsLayer.cpp:
2261 * platform/graphics/GraphicsLayer.h:
2262 * platform/graphics/GraphicsLayerClient.h:
2263 * platform/graphics/ca/GraphicsLayerCA.cpp:
2264 * rendering/RenderInline.cpp:
2265 * rendering/RenderLayerBacking.cpp:
2266 * rendering/RenderLayerBacking.h:
2267 * rendering/RenderLayerCompositor.cpp:
2268 * rendering/RenderLayerCompositor.h:
2269 * rendering/RenderObject.cpp:
2271 2011-08-15 Oliver Varga <Varga.Oliver@stud.u-szeged.hu>
2273 Reviewed by Nikolas Zimmermann.
2275 Speed up SVGSMILElement::findInstanceTime.
2276 https://bugs.webkit.org/show_bug.cgi?id=61025
2278 Replace the linear search to binary search on ordered list because
2279 the previous searches from the beginning was not efficient.
2280 Out of index error fixed by Renata Hodovan.
2282 No new tests this is only a performance tweak.
2284 * svg/animation/SVGSMILElement.cpp:
2285 (WebCore::extractTimeFromVector):
2286 (WebCore::SVGSMILElement::findInstanceTime):
2288 2011-08-15 Hayato Ito <hayato@chromium.org>
2290 Implement proper handling of focusin/focusout events in regard to shadow DOM boundaries.
2291 https://bugs.webkit.org/show_bug.cgi?id=64249
2293 Reviewed by Dimitri Glazkov.
2295 Introduces FocusInEventDispatchMediator/FocusOutEventDispatchMediator so
2296 that we can shrink ancestors of event target node considering shadow
2297 DOM boundaries before dispatching focusin/focusout events.
2299 Test: fast/dom/shadow/shadow-boundary-events.html
2302 (WebCore::Document::setFocusedNode):
2304 (WebCore::Node::dispatchFocusInEvent):
2305 (WebCore::Node::dispatchFocusOutEvent):
2306 (WebCore::Node::dispatchDOMActivateEvent):
2307 (WebCore::Node::defaultEventHandler):
2310 (WebCore::FocusInEventDispatchMediator::create):
2311 (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
2312 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2313 (WebCore::FocusOutEventDispatchMediator::create):
2314 (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
2315 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2318 2011-08-15 Pavel Feldman <pfeldman@google.com>
2320 Web Inspector: not all of the properties have valid descriptors on all platforms.
2321 Includes PropertyDescriptor protocol documentation fixes.
2322 https://bugs.webkit.org/show_bug.cgi?id=66215
2324 Activations, LocalStorage and some other properties potentially don't have
2325 valid property descriptors. InjectedScript should use conservative getter in order to
2328 Reviewed by Yury Semikhatsky.
2330 * inspector/InjectedScriptSource.js:
2331 * inspector/Inspector.json:
2333 2011-08-15 Pavel Feldman <pfeldman@google.com>
2335 Web Inspector: context menu on the link in the console does not have standard link options.
2336 https://bugs.webkit.org/show_bug.cgi?id=66214
2338 Reviewed by Yury Semikhatsky.
2340 * English.lproj/localizedStrings.js:
2341 * inspector/front-end/ConsoleView.js:
2342 * inspector/front-end/ElementsPanel.js:
2343 * inspector/front-end/ElementsTreeOutline.js:
2344 (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
2345 * inspector/front-end/NetworkPanel.js:
2346 (WebInspector.NetworkLogView.prototype._contextMenu):
2347 * inspector/front-end/StylesSidebarPane.js:
2348 (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
2349 * inspector/front-end/inspector.js:
2350 (WebInspector.openLinkExternallyLabel):
2351 (WebInspector.copyLinkAddressLabel):
2352 (WebInspector.populateHrefContextMenu):
2354 2011-08-14 Pavel Feldman <pfeldman@chromium.org>
2356 Web Inspector: showContextMenu missing in Remote DevTools
2357 https://bugs.webkit.org/show_bug.cgi?id=63725
2359 Reviewed by Yury Semikhatsky.
2362 * WebCore.vcproj/WebCore.vcproj:
2363 * inspector/front-end/ConsoleView.js:
2364 * inspector/front-end/SoftContextMenu.js: Added.
2365 (.WebInspector.SoftContextMenu):
2366 (.WebInspector.SoftContextMenu.prototype.show):
2367 (.WebInspector.SoftContextMenu.prototype._createMenuItem):
2368 (.WebInspector.SoftContextMenu.prototype._createSeparator):
2369 (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
2370 (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
2371 (.WebInspector.SoftContextMenu.prototype._triggerAction):
2372 (.WebInspector.SoftContextMenu.prototype._menuItemMouseOver):
2373 (.WebInspector.SoftContextMenu.prototype._menuItemMouseOut):
2374 (.WebInspector.SoftContextMenu.prototype._highlightMenuItem):
2375 (.WebInspector.SoftContextMenu.prototype._highlightPrevious):
2376 (.WebInspector.SoftContextMenu.prototype._highlightNext):
2377 (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
2378 (.WebInspector.SoftContextMenu.prototype._glassPaneMouseUp):
2379 (.WebInspector.SoftContextMenu.prototype._discardMenu):
2380 (.InspectorFrontendHost.showContextMenu):
2381 * inspector/front-end/WebKit.qrc:
2382 * inspector/front-end/inspector.css:
2383 (.soft-context-menu-glass-pane):
2384 (.soft-context-menu):
2385 (.soft-context-menu-item):
2386 (.soft-context-menu-separator):
2387 (.soft-context-menu-item-mouse-over):
2388 * inspector/front-end/inspector.html:
2390 2011-08-13 Abhishek Arya <inferno@chromium.org>
2392 Crash in HTMLTreeBuilder::processAnyOtherEndTagForInBody
2393 https://bugs.webkit.org/show_bug.cgi?id=66187
2395 Reviewed by Adam Barth.
2397 RefPtr a few ContainerNodes to prevent premature deletion.
2399 Test: fast/html/process-end-tag-for-inbody-crash.html
2401 * html/parser/HTMLTreeBuilder.cpp:
2402 (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
2403 (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
2404 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2406 2011-08-14 Kalev Lember <kalevlember@gmail.com>
2408 Fix GTK Windows build after r92308.
2409 https://bugs.webkit.org/show_bug.cgi?id=66140
2411 Reviewed by Xan Lopez.
2413 * config.h: Don't try to include WebCoreHeaderDetection.h for GTK.
2415 2011-08-13 Sam Weinig <sam@webkit.org>
2417 Remove forward declaration of -[WebUndefined dealloc] to appease the bot gods.
2419 * bindings/objc/WebScriptObject.mm:
2421 2011-08-13 Sam Weinig <sam@webkit.org>
2423 Remove assertion from -[WebUndefined dealloc] to try to mollify the bots.
2425 * bindings/objc/WebScriptObject.mm:
2426 (-[WebUndefined dealloc]):
2428 2011-08-13 Sam Weinig <sam@webkit.org>
2430 Remove unused variables from WebVideoFullscreenController.h
2431 https://bugs.webkit.org/show_bug.cgi?id=66192
2433 Reviewed by Dan Bernstein.
2435 * platform/mac/WebVideoFullscreenController.h:
2436 Remove _isWindowLoaded, _savedUIMode and _savedUIOptions which were not used.
2438 2011-08-13 Sam Weinig <sam@webkit.org>
2440 Fix incorrect objective-c initialize in WebCore
2441 https://bugs.webkit.org/show_bug.cgi?id=66191
2443 Reviewed by David Kilzer.
2445 * accessibility/mac/AccessibilityObjectWrapper.mm:
2446 (-[AccessibilityObjectWrapper initWithAccessibilityObject:]):
2447 * rendering/RenderThemeMac.mm:
2448 (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
2449 Correctly initialize by assigning to self and nil checking the result.
2451 2011-08-13 Adam Barth <abarth@webkit.org>
2455 * platform/chromium/PopupMenuChromium.h:
2457 2011-08-13 David Kilzer <ddkilzer@apple.com>
2459 <http://webkit.org/b/66188> WebCore.xcodeproj has duplicate entries again
2461 Reviewed by Dan Bernstein.
2463 * WebCore.xcodeproj/project.pbxproj: Remove duplicate entries
2464 by using uniq. Originally noticed by Xcode 4.
2466 2011-08-12 Dan Bernstein <mitz@apple.com>
2468 <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
2469 https://bugs.webkit.org/show_bug.cgi?id=66178
2471 Reviewed by Simon Fraser.
2473 * WebCore.exp.in: Export setShowsToolTipOverTruncatedText().
2475 (WebCore::Chrome::setToolTip): If no title is found, and the page is set to show tooltips over
2476 truncated text, try to set the tooltip to the full text of the truncated text, if any.
2477 * page/Settings.cpp:
2478 (WebCore::Settings::Settings): Initialize new member variable.
2479 (WebCore::Settings::setShowsToolTipOverTruncatedText): Added this setter.
2481 (WebCore::Settings::showsToolTipOverTruncatedText): Added this getter.
2482 * rendering/HitTestResult.cpp:
2483 (WebCore::HitTestResult::innerTextIfTruncated): Added. If the inner node or its nearest enclosing
2484 block has text-overflow: ellipsis and has truncated lines, return the node’s (full) inner text.
2485 * rendering/HitTestResult.h:
2486 * rendering/RootInlineBox.h:
2487 (WebCore::RootInlineBox::hasEllipsisBox): Made this public.
2489 2011-08-12 Stephen White <senorblanco@chromium.org>
2491 Ownership of canvas's GraphicsContext3D should be moved to PlatformContextSkia
2492 https://bugs.webkit.org/show_bug.cgi?id=66154
2494 Reviewed by Kenneth Russell.
2496 Covered by existing tests in fast/canvas and canvas/philip.
2498 * html/canvas/CanvasRenderingContext2D.cpp:
2499 (WebCore::CanvasRenderingContext2D::isAccelerated):
2500 Plumb this call through GraphicsContext::isAcceleratedContext().
2501 (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
2502 For the ACCELERATED_2D_CANVAS path, plumb this call through
2503 (the new) GraphicsContext::paintsIntoCanvasBuffer().
2504 (WebCore::CanvasRenderingContext2D::clearAcceleration):
2505 (WebCore::CanvasRenderingContext2D::resetAcceleration):
2506 Remove the use of the m_context3D member; use a temporary instead.
2507 * html/canvas/CanvasRenderingContext2D.h:
2508 Remove the m_context3D member.
2509 * platform/graphics/GraphicsContext.cpp:
2510 (WebCore::GraphicsContext::isAcceleratedContext):
2511 (WebCore::GraphicsContext::paintsIntoImageBuffer):
2512 Implement stub versions of these functions for other platforms.
2513 * platform/graphics/GraphicsContext.h:
2514 Expose isAcceleratedContext() to all platforms. Add
2515 paintsIntoImageBuffer() member function.
2516 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2517 (WebCore::SharedGraphicsContext3D::create):
2518 * platform/graphics/gpu/SharedGraphicsContext3D.h:
2519 * platform/graphics/skia/GraphicsContextSkia.cpp:
2520 (WebCore::GraphicsContext::setGraphicsContext3D):
2521 (WebCore::GraphicsContext::isAcceleratedContext):
2522 (WebCore::GraphicsContext::paintsIntoImageBuffer):
2523 Basically gut this class leaving only a static creation function.
2524 * platform/graphics/skia/ImageSkia.cpp:
2525 (WebCore::paintSkBitmap):
2526 (WebCore::Image::drawPattern):
2527 Use isAccelerated() in place of useSkiaGpu().
2528 * platform/graphics/skia/PlatformContextSkia.cpp:
2529 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
2530 (WebCore::PlatformContextSkia::paintsIntoImageBuffer):
2531 * platform/graphics/skia/PlatformContextSkia.h:
2532 (WebCore::PlatformContextSkia::isAccelerated):
2533 Rename useSkiaGpu() to isAccelerated(). Plumb through
2534 paintsIntoImageBuffer() to GraphicsContext3D.
2536 2011-08-12 Sam Weinig <sam@webkit.org>
2538 Use __builtin_trap() for CRASH when building with clang
2539 https://bugs.webkit.org/show_bug.cgi?id=66152
2541 Reviewed by Anders Carlsson.
2543 * bindings/js/SerializedScriptValue.cpp:
2544 (WebCore::CloneBase::fail):
2545 * bindings/objc/WebScriptObject.mm:
2546 * platform/mac/BlockExceptions.h:
2547 * platform/text/cf/StringImplCF.cpp:
2548 Add NO_RETURN_DUE_TO_ASSERT.
2550 * bridge/IdentifierRep.h:
2551 Don't define the destructor since it is never called,
2553 2011-08-12 Joseph Pecoraro <joepeck@webkit.org>
2555 Abandoned Memory: Temporary CSS Fonts May Never Be Purged
2556 https://bugs.webkit.org/show_bug.cgi?id=66153
2558 Reviewed by Dan Bernstein.
2560 No new tests, this is not a functional change.
2562 * css/CSSFontFaceSource.cpp:
2563 (WebCore::CSSFontFaceSource::getFontData):
2564 If the CSS font-face is loading from a URL then immediately
2565 fallback to a system font matching the description, since we
2566 cannot determine a reasonable family name from the m_string
2567 URL. The URL could be a dataURI.
2569 2011-08-12 Fady Samuel <fsamuel@chromium.org>
2571 Refactoring of PopupMenuChromium For Readability and Maintainability
2572 https://bugs.webkit.org/show_bug.cgi?id=66009
2574 Reviewed by Darin Fisher.
2576 Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp},
2577 and PopupLisBox.{h|cpp} for readability and maintainability.
2579 No new tests as there's no change in functionality.
2582 * platform/chromium/PopupContainer.cpp: Added.
2583 (WebCore::constructRelativeMouseEvent):
2584 (WebCore::constructRelativeWheelEvent):
2585 (WebCore::PopupContainer::create):
2586 (WebCore::PopupContainer::PopupContainer):
2587 (WebCore::PopupContainer::~PopupContainer):
2588 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2589 (WebCore::PopupContainer::showPopup):
2590 (WebCore::PopupContainer::hidePopup):
2591 (WebCore::PopupContainer::notifyPopupHidden):
2592 (WebCore::PopupContainer::layoutAndGetRTLOffset):
2593 (WebCore::PopupContainer::handleMouseDownEvent):
2594 (WebCore::PopupContainer::handleMouseMoveEvent):
2595 (WebCore::PopupContainer::handleMouseReleaseEvent):
2596 (WebCore::PopupContainer::handleWheelEvent):
2597 (WebCore::PopupContainer::handleTouchEvent):
2598 (WebCore::PopupContainer::handleGestureEvent):
2599 (WebCore::PopupContainer::handleKeyEvent):
2600 (WebCore::PopupContainer::hide):
2601 (WebCore::PopupContainer::paint):
2602 (WebCore::PopupContainer::paintBorder):
2603 (WebCore::PopupContainer::isInterestedInEventForKey):
2604 (WebCore::PopupContainer::chromeClientChromium):
2605 (WebCore::PopupContainer::showInRect):
2606 (WebCore::PopupContainer::refresh):
2607 (WebCore::PopupContainer::isRTL):
2608 (WebCore::PopupContainer::selectedIndex):
2609 (WebCore::PopupContainer::menuItemHeight):
2610 (WebCore::PopupContainer::menuItemFontSize):
2611 (WebCore::PopupContainer::menuStyle):
2612 (WebCore::popupData):
2613 (WebCore::PopupContainer::getSelectedItemToolTip):
2614 * platform/chromium/PopupContainer.h: Added.
2615 (WebCore::PopupContainer::listBox):
2616 (WebCore::PopupContainer::popupType):
2617 * platform/chromium/PopupListBox.cpp: Added.
2618 (WebCore::PopupListBox::PopupListBox):
2619 (WebCore::PopupListBox::handleMouseDownEvent):
2620 (WebCore::PopupListBox::handleMouseMoveEvent):
2621 (WebCore::PopupListBox::handleMouseReleaseEvent):
2622 (WebCore::PopupListBox::handleWheelEvent):
2623 (WebCore::PopupListBox::isInterestedInEventForKey):
2624 (WebCore::PopupListBox::handleTouchEvent):
2625 (WebCore::PopupListBox::handleGestureEvent):
2626 (WebCore::isCharacterTypeEvent):
2627 (WebCore::PopupListBox::handleKeyEvent):
2628 (WebCore::PopupListBox::hostWindow):
2629 (WebCore::stripLeadingWhiteSpace):
2630 (WebCore::PopupListBox::typeAheadFind):
2631 (WebCore::PopupListBox::paint):
2632 (WebCore::PopupListBox::paintRow):
2633 (WebCore::PopupListBox::getRowFont):
2634 (WebCore::PopupListBox::abandon):
2635 (WebCore::PopupListBox::pointToRowIndex):
2636 (WebCore::PopupListBox::acceptIndex):
2637 (WebCore::PopupListBox::selectIndex):
2638 (WebCore::PopupListBox::setOriginalIndex):
2639 (WebCore::PopupListBox::getRowHeight):
2640 (WebCore::PopupListBox::getRowBounds):
2641 (WebCore::PopupListBox::invalidateRow):
2642 (WebCore::PopupListBox::scrollToRevealRow):
2643 (WebCore::PopupListBox::isSelectableItem):
2644 (WebCore::PopupListBox::clearSelection):
2645 (WebCore::PopupListBox::selectNextRow):
2646 (WebCore::PopupListBox::selectPreviousRow):
2647 (WebCore::PopupListBox::adjustSelectedIndex):
2648 (WebCore::PopupListBox::hidePopup):
2649 (WebCore::PopupListBox::updateFromElement):
2650 (WebCore::PopupListBox::setMaxWidthAndLayout):
2651 (WebCore::PopupListBox::layout):
2652 (WebCore::PopupListBox::clear):
2653 (WebCore::PopupListBox::isPointInBounds):
2654 * platform/chromium/PopupListBox.h: Added.
2655 (WebCore::PopupItem::PopupItem):
2656 (WebCore::PopupListBox::create):
2657 (WebCore::PopupListBox::selectedIndex):
2658 (WebCore::PopupListBox::numItems):
2659 (WebCore::PopupListBox::setBaseWidth):
2660 (WebCore::PopupListBox::setMaxHeight):
2661 (WebCore::PopupListBox::setMaxWidth):
2662 (WebCore::PopupListBox::disconnectClient):
2663 (WebCore::PopupListBox::items):
2664 (WebCore::PopupListBox::~PopupListBox):
2665 (WebCore::PopupListBox::scrollToRevealSelection):
2666 * platform/chromium/PopupMenuChromium.cpp:
2667 * platform/chromium/PopupMenuChromium.h:
2669 2011-08-12 Mark Rowe <mrowe@apple.com>
2671 Be more forward-looking in the choice of compiler.
2673 Rubber-stamped by Jon Honeycutt.
2675 * Configurations/CompilerVersion.xcconfig:
2677 2011-08-12 Nat Duca <nduca@chromium.org>
2679 [chromium] Fix comile warning on CCLayerTreeHost
2681 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2682 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2684 2011-08-12 Ryosuke Niwa <rniwa@webkit.org>
2686 Apple-style-span class seems unnecessary
2687 https://bugs.webkit.org/show_bug.cgi?id=12248
2689 Reviewed by Justin Garcia.
2691 Stop generating span or font elements with class="Apple-style-span" given WebKit's editing component
2692 no longer depends on Apple-style-span since r92823 removed the dependency of copy and paste code on
2693 style spans. WebKit continues to recognize Apple style spans to remove them.
2695 Also renamed isSpanWithoutAttributesOrUnstyleStyleSpan to isSpanWithoutAttributesOrUnstyle*d*StyleSpan.
2697 * editing/ApplyStyleCommand.cpp:
2698 (WebCore::isLegacyAppleStyleSpan): Renamed from isStyleSpan.
2699 (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan): Renamed from isSpanWithoutAttributesOr*Unstyle*StyleSpan.
2700 (WebCore::createFontElement): No longer adds class="Apple-style-span".
2701 (WebCore::createStyleSpanElement): Ditto.
2702 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Calls isSpanWithoutAttributesOrUnstyleStyleSpan
2703 instead of isUnstyledStyleSpan since there won't be any Apple style spans.
2704 (WebCore::dummySpanAncestorForNode):
2705 (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans): Ditto.
2706 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
2707 (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
2708 (WebCore::ApplyStyleCommand::removeCSSStyle):
2709 * editing/ApplyStyleCommand.h:
2710 * editing/EditingStyle.cpp:
2711 (WebCore::EditingStyle::removeStyleFromRulesAndContext): Ditto.
2712 * editing/ReplaceSelectionCommand.cpp:
2713 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Calls isLegacyAppleStyleSpan instead
2715 (WebCore::handleStyleSpansBeforeInsertion): Ditto.
2716 (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
2717 (WebCore::ReplaceSelectionCommand::doApply): Ditto.
2718 * editing/markup.cpp:
2719 (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): No longer adds class="Apple-style-span".
2721 2011-08-12 Nat Duca <nduca@chromium.org>
2723 [chromium] Fix compositor breakage due to duplicate context creation AND by context-lost
2724 https://bugs.webkit.org/show_bug.cgi?id=66168
2726 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2727 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2728 (WebCore::CCLayerTreeHost::initialize):
2730 2011-08-12 Levi Weintraub <leviw@chromium.org>
2732 Switch RenderMenuList, RenderListBox, and RenderFieldSet to new layout units
2733 https://bugs.webkit.org/show_bug.cgi?id=66149
2735 Reviewed by Eric Seidel.
2737 Changing RenderMenuList, RenderListBox, and RenderFieldSet to the LayoutUnit
2738 abstraction from ints.
2740 No tests as no change in functionality.
2742 * rendering/RenderFieldset.cpp:
2743 (WebCore::RenderFieldset::layoutSpecialExcludedChild):
2744 * rendering/RenderListBox.cpp:
2745 (WebCore::RenderListBox::numVisibleItems):
2746 (WebCore::RenderListBox::listHeight):
2747 (WebCore::RenderListBox::baselinePosition):
2748 (WebCore::RenderListBox::itemBoundingBoxRect):
2749 (WebCore::itemOffsetForAlignment):
2750 (WebCore::RenderListBox::panScroll):
2751 (WebCore::RenderListBox::scrollToward):
2752 (WebCore::RenderListBox::autoscroll):
2753 (WebCore::RenderListBox::scrollSize):
2754 (WebCore::RenderListBox::scrollPosition):
2755 (WebCore::RenderListBox::setScrollOffset):
2756 (WebCore::RenderListBox::itemHeight):
2757 (WebCore::RenderListBox::verticalScrollbarWidth):
2758 (WebCore::RenderListBox::scrollWidth):
2759 (WebCore::RenderListBox::scrollHeight):
2760 (WebCore::RenderListBox::scrollLeft):
2761 (WebCore::RenderListBox::setScrollLeft):
2762 (WebCore::RenderListBox::scrollTop):
2763 (WebCore::RenderListBox::setScrollTop):
2764 (WebCore::RenderListBox::controlClipRect):
2765 (WebCore::RenderListBox::invalidateScrollbarRect):
2766 (WebCore::RenderListBox::convertFromScrollbarToContainingView):
2767 (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
2768 (WebCore::RenderListBox::contentsSize):
2769 (WebCore::RenderListBox::currentMousePosition):
2770 * rendering/RenderListBox.h:
2771 (WebCore::RenderListBox::scrollCornerRect):
2772 (WebCore::RenderListBox::invalidateScrollCornerRect):
2773 * rendering/RenderMenuList.cpp:
2774 (WebCore::RenderMenuList::controlClipRect):
2775 (WebCore::RenderMenuList::showPopup):
2776 * rendering/RenderMenuList.h:
2778 2011-08-12 David Hyatt <hyatt@apple.com>
2780 https://bugs.webkit.org/show_bug.cgi?id=66133
2782 Make hit testing work on RenderRegions. Pass off the hit testing to the RenderFlowThread
2783 layer tree (just as we did with painting).
2785 Reviewed by Sam Weinig.
2787 Added hit-test-float.html to demonstrate basic hit testing of content flowed into regions.
2789 * rendering/HitTestRequest.h:
2790 (WebCore::HitTestRequest::type):
2791 * rendering/RenderFlowThread.cpp:
2792 (WebCore::RenderFlowThread::hitTestRegion):
2793 * rendering/RenderFlowThread.h:
2794 * rendering/RenderRegion.cpp:
2795 (WebCore::RenderRegion::paintReplaced):
2796 (WebCore::RenderRegion::nodeAtPoint):
2797 * rendering/RenderRegion.h:
2799 2011-08-12 Levi Weintraub <leviw@chromium.org>
2801 Switch RenderTable* to new layout types
2802 https://bugs.webkit.org/show_bug.cgi?id=66146
2804 Reviewed by Eric Seidel.
2806 Converting RenderTable* classes to new LayoutUnits from ints.
2808 No new tests as no new functionality.
2810 * rendering/RenderTable.cpp:
2811 (WebCore::RenderTable::firstLineBoxBaseline):
2812 (WebCore::RenderTable::overflowClipRect):
2813 * rendering/RenderTable.h:
2814 (WebCore::RenderTable::columnPositions):
2815 * rendering/RenderTableCol.cpp:
2816 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
2817 * rendering/RenderTableRow.cpp:
2818 (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
2819 * rendering/RenderTableSection.cpp:
2820 (WebCore::RenderTableSection::setCellLogicalWidths):
2821 (WebCore::RenderTableSection::calcRowLogicalHeight):
2822 (WebCore::RenderTableSection::layoutRows):
2823 (WebCore::RenderTableSection::calcOuterBorderBefore):
2824 (WebCore::RenderTableSection::calcOuterBorderAfter):
2825 (WebCore::RenderTableSection::calcOuterBorderStart):
2826 (WebCore::RenderTableSection::calcOuterBorderEnd):
2827 (WebCore::RenderTableSection::firstLineBoxBaseline):
2828 (WebCore::RenderTableSection::paintObject):
2829 (WebCore::RenderTableSection::nodeAtPoint):
2830 * rendering/RenderTableSection.h:
2831 (WebCore::RenderTableSection::outerBorderBefore):
2832 (WebCore::RenderTableSection::outerBorderAfter):
2833 (WebCore::RenderTableSection::outerBorderStart):
2834 (WebCore::RenderTableSection::outerBorderEnd):
2835 (WebCore::RenderTableSection::getBaseline):
2837 2011-08-12 Adam Bergkvist <adam.bergkvist@ericsson.com>
2839 Reviewed by Alexey Proskuryakov.
2841 EventSource loader should not buffer data
2842 https://bugs.webkit.org/show_bug.cgi?id=61863
2844 Disabled buffering in the EventSource loader.
2846 Added a manual test.
2848 * manual-tests/eventsource/eventsource-loader-buffering.html: Added.
2849 * manual-tests/eventsource/eventsource-loader-buffering.php: Added.
2850 * page/EventSource.cpp:
2851 (WebCore::EventSource::connect):
2853 2011-08-11 Pratik Solanki <psolanki@apple.com>
2855 ResourceLoader::didReceiveDataArray() does not handle m_shouldBufferData correctly
2856 https://bugs.webkit.org/show_bug.cgi?id=65926
2858 Reviewed by Alexey Proskuryakov.
2860 * loader/mac/ResourceLoaderMac.mm:
2861 (WebCore::ResourceLoader::didReceiveDataArray): Make sure we call the client callbacks when
2862 m_shouldBufferData is set to false.
2864 2011-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
2866 Unreviewed, rolling out r92976.
2867 http://trac.webkit.org/changeset/92976
2868 https://bugs.webkit.org/show_bug.cgi?id=66159
2870 Does not compile on chromium-win (Requested by abarth|gardener
2874 * platform/chromium/PopupContainer.cpp: Removed.
2875 * platform/chromium/PopupContainer.h: Removed.
2876 * platform/chromium/PopupListBox.cpp: Removed.
2877 * platform/chromium/PopupListBox.h: Removed.
2878 * platform/chromium/PopupMenuChromium.cpp:
2879 (WebCore::PopupListBox::create):
2880 (WebCore::PopupListBox::selectedIndex):
2881 (WebCore::PopupListBox::numItems):
2882 (WebCore::PopupListBox::setBaseWidth):
2883 (WebCore::PopupListBox::setMaxHeight):
2884 (WebCore::PopupListBox::setMaxWidth):
2885 (WebCore::PopupListBox::disconnectClient):
2886 (WebCore::PopupListBox::items):
2887 (WebCore::PopupListBox::PopupListBox):
2888 (WebCore::PopupListBox::~PopupListBox):
2889 (WebCore::PopupListBox::scrollToRevealSelection):
2890 (WebCore::constructRelativeMouseEvent):
2891 (WebCore::constructRelativeWheelEvent):
2892 (WebCore::PopupContainer::create):
2893 (WebCore::PopupContainer::PopupContainer):
2894 (WebCore::PopupContainer::~PopupContainer):
2895 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2896 (WebCore::PopupContainer::showPopup):
2897 (WebCore::PopupContainer::hidePopup):
2898 (WebCore::PopupContainer::notifyPopupHidden):
2899 (WebCore::PopupContainer::layoutAndGetRTLOffset):
2900 (WebCore::PopupContainer::handleMouseDownEvent):
2901 (WebCore::PopupContainer::handleMouseMoveEvent):
2902 (WebCore::PopupContainer::handleMouseReleaseEvent):
2903 (WebCore::PopupContainer::handleWheelEvent):
2904 (WebCore::PopupContainer::handleTouchEvent):
2905 (WebCore::PopupContainer::handleGestureEvent):
2906 (WebCore::PopupContainer::handleKeyEvent):
2907 (WebCore::PopupContainer::hide):
2908 (WebCore::PopupContainer::paint):
2909 (WebCore::PopupContainer::paintBorder):
2910 (WebCore::PopupContainer::isInterestedInEventForKey):
2911 (WebCore::PopupContainer::chromeClientChromium):
2912 (WebCore::PopupContainer::showInRect):
2913 (WebCore::PopupContainer::refresh):
2914 (WebCore::PopupContainer::isRTL):
2915 (WebCore::PopupContainer::selectedIndex):
2916 (WebCore::PopupContainer::menuItemHeight):
2917 (WebCore::PopupContainer::menuItemFontSize):
2918 (WebCore::PopupContainer::menuStyle):
2919 (WebCore::popupData):
2920 (WebCore::PopupContainer::getSelectedItemToolTip):
2921 (WebCore::PopupListBox::handleMouseDownEvent):
2922 (WebCore::PopupListBox::handleMouseMoveEvent):
2923 (WebCore::PopupListBox::handleMouseReleaseEvent):
2924 (WebCore::PopupListBox::handleWheelEvent):
2925 (WebCore::PopupListBox::isInterestedInEventForKey):
2926 (WebCore::PopupListBox::handleTouchEvent):
2927 (WebCore::PopupListBox::handleGestureEvent):
2928 (WebCore::isCharacterTypeEvent):
2929 (WebCore::PopupListBox::handleKeyEvent):
2930 (WebCore::PopupListBox::hostWindow):
2931 (WebCore::stripLeadingWhiteSpace):
2932 (WebCore::PopupListBox::typeAheadFind):
2933 (WebCore::PopupListBox::paint):
2934 (WebCore::PopupListBox::paintRow):
2935 (WebCore::PopupListBox::getRowFont):
2936 (WebCore::PopupListBox::abandon):
2937 (WebCore::PopupListBox::pointToRowIndex):
2938 (WebCore::PopupListBox::acceptIndex):
2939 (WebCore::PopupListBox::selectIndex):
2940 (WebCore::PopupListBox::setOriginalIndex):
2941 (WebCore::PopupListBox::getRowHeight):
2942 (WebCore::PopupListBox::getRowBounds):
2943 (WebCore::PopupListBox::invalidateRow):
2944 (WebCore::PopupListBox::scrollToRevealRow):
2945 (WebCore::PopupListBox::isSelectableItem):
2946 (WebCore::PopupListBox::clearSelection):
2947 (WebCore::PopupListBox::selectNextRow):
2948 (WebCore::PopupListBox::selectPreviousRow):
2949 (WebCore::PopupListBox::adjustSelectedIndex):
2950 (WebCore::PopupListBox::hidePopup):
2951 (WebCore::PopupListBox::updateFromElement):
2952 (WebCore::PopupListBox::setMaxWidthAndLayout):
2953 (WebCore::PopupListBox::layout):
2954 (WebCore::PopupListBox::clear):
2955 (WebCore::PopupListBox::isPointInBounds):
2956 * platform/chromium/PopupMenuChromium.h:
2957 (WebCore::PopupItem::PopupItem):
2958 (WebCore::PopupContainer::listBox):
2959 (WebCore::PopupContainer::popupType):
2961 2011-08-12 Andy Estes <aestes@apple.com>
2963 Cancel in onbeforeunload dialog sometime causes a button to stop working.
2964 https://bugs.webkit.org/show_bug.cgi?id=26211
2966 Reviewed by Alexey Proskuryakov.
2968 Test: fast/loader/form-submission-after-beforeunload-cancel.html
2970 If an onbeforeunload handler cancels a navigation that was triggered by
2971 a form submission, WebCore's multiple form submission protection
2972 prevents the form from being submitted a second time even though no
2973 first submission actually took place. Fix this by clearing
2974 m_submittedFormURL if the onbeforeunload handler cancels the load. This
2975 allows the submission to be retried.
2977 * loader/FrameLoader.cpp:
2978 (WebCore::FrameLoader::shouldClose): Set m_submittedFormURL to KURL()
2979 if shouldClose() will return false.
2981 2011-08-12 David Hyatt <hyatt@apple.com>
2983 https://bugs.webkit.org/show_bug.cgi?id=66130
2985 RenderRegions need to paint the entire RenderFlowThread layer tree. Instead of just calling
2986 paintBlock, make sure RenderRegions paint the flow thread's layer tree instead with the appropriate
2989 Fix RenderRegions to derive from RenderReplaced instead of RenderBox, since it simplifies the code.
2990 They no longer have to subclass their own layout method or worry about all of the painting logic
2991 for anything other than the content area.
2993 Reviewed by Anders Carlsson.
2995 Existing tests have a layer tree example, and so those results are updated to show the tree now.
2997 * rendering/RenderFlowThread.cpp:
2998 (WebCore::RenderFlowThread::createFlowThreadStyle):
2999 (WebCore::RenderFlowThread::paintIntoRegion):
3000 * rendering/RenderLayer.cpp:
3001 (WebCore::RenderLayer::collectLayers):
3002 * rendering/RenderRegion.cpp:
3003 (WebCore::RenderRegion::RenderRegion):
3004 (WebCore::RenderRegion::paintReplaced):
3005 (WebCore::RenderRegion::styleDidChange):
3006 * rendering/RenderRegion.h:
3008 2011-08-12 Chris Rogers <crogers@google.com>
3010 Fix mac build when web audio is enabled
3011 https://bugs.webkit.org/show_bug.cgi?id=66150
3013 Unreviewed build fix.
3015 * platform/audio/mac/AudioFileReaderMac.cpp:
3016 (WebCore::AudioFileReader::createBus):
3018 2011-08-12 Jeff Miller <jeffm@apple.com>
3020 Need to handle kCACFContextNeedsFlushNotification notifications that arrive after the AVFWrapper has been disposed
3021 https://bugs.webkit.org/show_bug.cgi?id=65724
3023 Instead of using a pointer to the AVFWrapper object as the context for various callbacks, assign each object an
3024 ID and use that instead. Keep track of the mapping between object IDs and AVFWrapper objects in a HashMap, and manage
3025 access to this map using a Mutex since it can be accessed from multiple threads. This allows us to actually delete
3026 AVFWrapper objects instead of leaking them (which we were doing before to prevent crashes).
3028 Reviewed by Eric Carlson.
3030 No new tests, uses existing media tests.
3032 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
3033 (WebCore::AVFWrapper::callbackContext): Added.
3034 (WebCore::AVFWrapper::AVFWrapper): Initialize m_objectID and add it to the HashMap.
3035 (WebCore::AVFWrapper::~AVFWrapper): Log object ID and remove obsolete assert.
3036 (WebCore::AVFWrapper::mapLock): Added.
3037 (WebCore::AVFWrapper::map): Added.
3038 (WebCore::AVFWrapper::addToMap): Added.
3039 (WebCore::AVFWrapper::removeFromMap): Added.
3040 (WebCore::AVFWrapper::avfWrapperForCallbackContext): Added.
3041 (WebCore::AVFWrapper::scheduleDisconnectAndDelete): Remove AVFWrapper from HashMap instead of zeroing m_owner.
3042 (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Use callbackContext(), delete the AVFWrapper here.
3043 (WebCore::AVFWrapper::createPlayer): Use callbackContext().
3044 (WebCore::AVFWrapper::createPlayerItem): Use callbackContext().
3045 (WebCore::AVFWrapper::periodicTimeObserverCallback): Retrieve AVFWrapper using the HashMap.
3046 (WebCore::AVFWrapper::notificationCallback): Retrieve AVFWrapper using the HashMap.
3047 (WebCore::AVFWrapper::loadPlayableCompletionCallback): Retrieve AVFWrapper using the HashMap.
3048 (WebCore::AVFWrapper::checkPlayability): Use callbackContext().
3049 (WebCore::AVFWrapper::loadMetadataCompletionCallback): Retrieve AVFWrapper using the HashMap.
3050 (WebCore::AVFWrapper::beginLoadingMetadata): Use callbackContext().
3051 (WebCore::AVFWrapper::seekCompletedCallback): Retrieve AVFWrapper using the HashMap.
3052 (WebCore::AVFWrapper::seekToTime): Use callbackContext().
3053 (WebCore::AVFWrapper::platformLayer): Remove overly noisy LOG().
3055 2011-08-12 Fady Samuel <fsamuel@chromium.org>
3057 Refactoring of PopupMenuChromium
3058 https://bugs.webkit.org/show_bug.cgi?id=66009
3060 Reviewed by Darin Fisher.
3062 Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp}, and PopupLisBox.{h|cpp}
3063 for readability and maintainability.
3065 No new tests as no functionality has changed.
3068 * platform/chromium/PopupContainer.cpp: Added.
3069 (WebCore::constructRelativeMouseEvent):
3070 (WebCore::constructRelativeWheelEvent):
3071 (WebCore::PopupContainer::create):
3072 (WebCore::PopupContainer::PopupContainer):
3073 (WebCore::PopupContainer::~PopupContainer):
3074 (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
3075 (WebCore::PopupContainer::showPopup):
3076 (WebCore::PopupContainer::hidePopup):
3077 (WebCore::PopupContainer::notifyPopupHidden):
3078 (WebCore::PopupContainer::layoutAndGetRTLOffset):
3079 (WebCore::PopupContainer::handleMouseDownEvent):
3080 (WebCore::PopupContainer::handleMouseMoveEvent):
3081 (WebCore::PopupContainer::handleMouseReleaseEvent):
3082 (WebCore::PopupContainer::handleWheelEvent):
3083 (WebCore::PopupContainer::handleTouchEvent):
3084 (WebCore::PopupContainer::handleGestureEvent):
3085 (WebCore::PopupContainer::handleKeyEvent):
3086 (WebCore::PopupContainer::hide):
3087 (WebCore::PopupContainer::paint):
3088 (WebCore::PopupContainer::paintBorder):
3089 (WebCore::PopupContainer::isInterestedInEventForKey):
3090 (WebCore::PopupContainer::chromeClientChromium):
3091 (WebCore::PopupContainer::showInRect):
3092 (WebCore::PopupContainer::refresh):
3093 (WebCore::PopupContainer::isRTL):
3094 (WebCore::PopupContainer::selectedIndex):
3095 (WebCore::PopupContainer::menuItemHeight):
3096 (WebCore::PopupContainer::menuItemFontSize):
3097 (WebCore::PopupContainer::menuStyle):
3098 (WebCore::popupData):
3099 (WebCore::PopupContainer::getSelectedItemToolTip):
3100 * platform/chromium/PopupContainer.h: Added.
3101 (WebCore::PopupContainer::listBox):
3102 (WebCore::PopupContainer::popupType):
3103 * platform/chromium/PopupListBox.cpp: Added.
3104 (WebCore::PopupListBox::PopupListBox):
3105 (WebCore::PopupListBox::handleMouseDownEvent):
3106 (WebCore::PopupListBox::handleMouseMoveEvent):
3107 (WebCore::PopupListBox::handleMouseReleaseEvent):
3108 (WebCore::PopupListBox::handleWheelEvent):
3109 (WebCore::PopupListBox::isInterestedInEventForKey):
3110 (WebCore::PopupListBox::handleTouchEvent):
3111 (WebCore::PopupListBox::handleGestureEvent):
3112 (WebCore::isCharacterTypeEvent):
3113 (WebCore::PopupListBox::handleKeyEvent):
3114 (WebCore::PopupListBox::hostWindow):
3115 (WebCore::stripLeadingWhiteSpace):
3116 (WebCore::PopupListBox::typeAheadFind):
3117 (WebCore::PopupListBox::paint):
3118 (WebCore::PopupListBox::paintRow):
3119 (WebCore::PopupListBox::getRowFont):
3120 (WebCore::PopupListBox::abandon):
3121 (WebCore::PopupListBox::pointToRowIndex):
3122 (WebCore::PopupListBox::acceptIndex):
3123 (WebCore::PopupListBox::selectIndex):
3124 (WebCore::PopupListBox::setOriginalIndex):
3125 (WebCore::PopupListBox::getRowHeight):
3126 (WebCore::PopupListBox::getRowBounds):
3127 (WebCore::PopupListBox::invalidateRow):
3128 (WebCore::PopupListBox::scrollToRevealRow):
3129 (WebCore::PopupListBox::isSelectableItem):
3130 (WebCore::PopupListBox::clearSelection):
3131 (WebCore::PopupListBox::selectNextRow):
3132 (WebCore::PopupListBox::selectPreviousRow):
3133 (WebCore::PopupListBox::adjustSelectedIndex):
3134 (WebCore::PopupListBox::hidePopup):
3135 (WebCore::PopupListBox::updateFromElement):
3136 (WebCore::PopupListBox::setMaxWidthAndLayout):
3137 (WebCore::PopupListBox::layout):
3138 (WebCore::PopupListBox::clear):
3139 (WebCore::PopupListBox::isPointInBounds):
3140 * platform/chromium/PopupListBox.h: Added.
3141 (WebCore::PopupItem::PopupItem):
3142 (WebCore::PopupListBox::create):
3143 (WebCore::PopupListBox::selectedIndex):
3144 (WebCore::PopupListBox::numItems):
3145 (WebCore::PopupListBox::setBaseWidth):
3146 (WebCore::PopupListBox::setMaxHeight):
3147 (WebCore::PopupListBox::setMaxWidth):
3148 (WebCore::PopupListBox::disconnectClient):
3149 (WebCore::PopupListBox::items):
3150 (WebCore::PopupListBox::~PopupListBox):
3151 (WebCore::PopupListBox::scrollToRevealSelection):
3152 * platform/chromium/PopupMenuChromium.cpp:
3153 * platform/chromium/PopupMenuChromium.h:
3155 2011-08-12 Sam Weinig <sam@webkit.org>
3157 Move compiler specific macros to their own header
3158 https://bugs.webkit.org/show_bug.cgi?id=66119
3160 Reviewed by Anders Carlsson.
3162 * ForwardingHeaders/wtf/Compiler.h: Added.
3164 2011-08-12 No'am Rosenthal <noam.rosenthal@nokia.com>
3166 [Qt][REGRESSION] composited content doesn't render since r92651
3167 https://bugs.webkit.org/show_bug.cgi?id=66108
3169 Reviewed by Benjamin Poulain.
3171 Changed the signature for GraphicsLayerTextureMapper::syncCompositingState to match
3172 the new signature in GraphicsLayer.h.
3174 No new tests. This is a regression that's covered by existing pixel tests.
3176 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3177 (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
3178 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3180 2011-08-12 Alexandru Chiculita <achicu@adobe.com>
3182 Original patch by Mihnea Ovidenie <mihnea@adobe.com>.
3183 Also contains some improvements done by Dave Hyatt <hyatt@apple.com>.
3185 [CSSRegions]RenderFlowThread should display its content using RenderRegion
3186 https://bugs.webkit.org/show_bug.cgi?id=65627
3188 RenderFlowThread collects RenderObjects from a flow. These objects are displayed by means
3189 of RenderRegion objects that get the content from the same flow.
3191 Reviewed by David Hyatt.
3193 Tests: fast/regions/content-flowed-into-regions-dynamically-added.html
3194 fast/regions/content-flowed-into-regions-dynamically-removed.html
3195 fast/regions/content-flowed-into-regions-with-dyn-index.html
3196 fast/regions/content-flowed-into-regions-with-index-dom.html
3197 fast/regions/content-flowed-into-regions-with-index.html
3198 fast/regions/content-flowed-into-regions.html
3199 fast/regions/flow-content-basic-vertical-rl.html
3200 fast/regions/flow-content-basic-vertical.html
3203 (WebCore::Node::diff):
3204 * rendering/RenderFlowThread.cpp:
3205 (WebCore::RenderFlowThread::RenderFlowThread):
3206 (WebCore::RenderFlowThread::createFlowThreadStyle):
3207 (WebCore::RenderFlowThread::styleDidChange):
3208 (WebCore::compareRenderRegions):
3209 (WebCore::RenderFlowThread::addRegionToThread):
3210 (WebCore::RenderFlowThread::removeRegionFromThread):
3211 (WebCore::RenderFlowThread::layout):
3212 (WebCore::RenderFlowThread::computeLogicalWidth):
3213 (WebCore::RenderFlowThread::computeLogicalHeight):
3214 (WebCore::RenderFlowThread::paintIntoRegion):
3215 * rendering/RenderFlowThread.h:
3216 * rendering/RenderObject.cpp:
3217 (WebCore::RenderObject::createObject):
3218 * rendering/RenderRegion.cpp:
3219 (WebCore::RenderRegion::RenderRegion):
3220 (WebCore::RenderRegion::~RenderRegion):
3221 (WebCore::RenderRegion::paint):
3222 (WebCore::RenderRegion::styleDidChange):
3223 * rendering/RenderRegion.h:
3224 (WebCore::RenderRegion::setRegionRect):
3225 (WebCore::RenderRegion::regionRect):
3226 * rendering/RenderTreeAsText.cpp:
3227 (WebCore::writeLayers):
3228 * rendering/RenderView.cpp:
3229 (WebCore::RenderView::styleDidChange):
3230 (WebCore::RenderView::renderFlowThreadWithName):
3231 * rendering/RenderView.h:
3233 2011-08-12 Abhishek Arya <inferno@chromium.org>
3235 Crash in WebCore::editingIgnoresContent
3236 https://bugs.webkit.org/show_bug.cgi?id=66125
3238 Reviewed by Ryosuke Niwa.
3240 RefPtr a few nodes in case they get blown away in
3241 dispatchEvent calls.
3243 Test: editing/selection/select-start-remove-root-crash.html
3245 * editing/FrameSelection.cpp:
3246 (WebCore::FrameSelection::selectAll):
3247 * editing/ReplaceSelectionCommand.cpp:
3248 (WebCore::ReplacementFragment::ReplacementFragment):
3250 2011-08-11 Pavel Podivilov <podivilov@chromium.org>
3252 Web Inspector: properly update console message count in source frames and resources panel.
3253 https://bugs.webkit.org/show_bug.cgi?id=57009
3255 Reviewed by Yury Semikhatsky.
3257 * inspector/front-end/ConsoleView.js:
3258 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
3259 * inspector/front-end/SourceFrame.js:
3260 (WebInspector.SourceFrame.prototype.show):
3261 (WebInspector.SourceFrame.prototype.addMessageToSource):
3262 (WebInspector.SourceFrame.prototype._updateMessageRepeatCount):
3264 2011-08-12 Pavel Feldman <pfeldman@google.com>
3266 Not reviewed: follow up to inspector test breakage.
3268 * inspector/front-end/ScriptsPanel.js:
3269 (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
3271 2011-08-12 Yury Semikhatsky <yurys@chromium.org>
3273 Web Inspector: expand exception properties when wrapping it as object.
3274 https://bugs.webkit.org/show_bug.cgi?id=66035
3276 Use toString() value as a description for value thrown during eval.
3278 Reviewed by Pavel Feldman.
3280 * inspector/InjectedScriptSource.js:
3283 2011-08-12 Pavel Feldman <pfeldman@google.com>
3285 Web Inspector: make folders optional in the Scripts' panel file selector.
3286 https://bugs.webkit.org/show_bug.cgi?id=66100
3288 Reviewed by Yury Semikhatsky.
3290 * English.lproj/localizedStrings.js:
3291 * inspector/front-end/ScriptsPanel.js:
3292 (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
3293 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
3294 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
3295 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
3296 (WebInspector.ScriptsPanel.prototype.reset):
3297 (WebInspector.ScriptsPanel.prototype._resetFilesSelect):
3298 * inspector/front-end/Settings.js:
3299 (WebInspector.Settings):
3300 * inspector/front-end/SettingsScreen.js:
3301 (WebInspector.SettingsScreen):
3303 2011-08-12 Pavel Podivilov <podivilov@chromium.org>
3305 Web Inspector: add space between error info and error message in source frame message bubble.
3306 https://bugs.webkit.org/show_bug.cgi?id=65069
3308 Reviewed by Pavel Feldman.
3310 * inspector/front-end/ConsoleView.js:
3311 (WebInspector.ConsoleMessage.prototype._formatMessage):
3313 2011-08-12 Pavel Feldman <pfeldman@google.com>
3315 Web Inspector: console loses focus upon reloading the page from the inspector.
3316 https://bugs.webkit.org/show_bug.cgi?id=66068
3318 Reviewed by Yury Semikhatsky.
3320 * inspector/front-end/AuditsPanel.js:
3321 (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
3322 (WebInspector.AuditsPanel.prototype._clearButtonClicked):
3323 * inspector/front-end/DataGrid.js:
3324 (WebInspector.DataGrid.prototype.revealAndSelect):
3325 (WebInspector.DataGridNode.prototype.revealAndSelect):
3326 * inspector/front-end/DetailedHeapshotView.js:
3327 (WebInspector.DetailedHeapshotView.prototype._jumpToSearchResult):
3328 * inspector/front-end/ElementsPanel.js:
3329 (WebInspector.ElementsPanel.this.treeOutline.selectedNodeChanged):
3330 (WebInspector.ElementsPanel.get this):
3331 (WebInspector.ElementsPanel):
3332 (WebInspector.ElementsPanel.prototype._reset):
3333 (WebInspector.ElementsPanel.prototype._setDocument.selectNode):
3334 (WebInspector.ElementsPanel.prototype._setDocument.selectLastSelectedNode):
3335 (WebInspector.ElementsPanel.prototype._setDocument):
3336 (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
3337 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3338 (WebInspector.ElementsPanel.prototype.switchToAndFocus):
3339 (WebInspector.ElementsPanel.prototype.selectedDOMNode):
3340 (WebInspector.ElementsPanel.prototype.selectDOMNode):
3341 (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
3342 (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
3343 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
3344 (WebInspector.ElementsPanel.prototype.updateStyles):
3345 (WebInspector.ElementsPanel.prototype.updateMetrics):
3346 (WebInspector.ElementsPanel.prototype.updateProperties):
3347 (WebInspector.ElementsPanel.prototype.updateEventListeners):
3348 (WebInspector.ElementsPanel.prototype.handleCopyEvent):
3349 (WebInspector.ElementsPanel.prototype.updateFocusedNode):
3350 * inspector/front-end/ElementsTreeOutline.js:
3351 (WebInspector.ElementsTreeOutline):
3352 (WebInspector.ElementsTreeOutline.prototype.selectedDOMNode):
3353 (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
3354 (WebInspector.ElementsTreeOutline.prototype.update):
3355 (WebInspector.ElementsTreeOutline.prototype._revealAndSelectNode):
3356 (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
3357 (WebInspector.ElementsTreeOutline.prototype._ondrop):
3358 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
3359 (WebInspector.ElementsTreeElement.prototype._updateChildren):
3360 (WebInspector.ElementsTreeElement.prototype.onselect):
3361 (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
3362 (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
3363 (WebInspector.ElementsTreeElement.prototype._startEditing):
3364 * inspector/front-end/Panel.js:
3365 (WebInspector.Panel.prototype.reset):
3366 * inspector/front-end/ProfileView.js:
3367 (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
3368 * inspector/front-end/ProfilesPanel.js:
3369 (WebInspector.ProfilesPanel.prototype._addProfileHeader):
3370 (WebInspector.ProfilesPanel.prototype.showProfile):
3371 (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
3372 * inspector/front-end/ResourcesPanel.js:
3373 (WebInspector.ResourcesPanel.prototype._initDefaultSelection.get if):
3374 (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
3375 (WebInspector.ResourcesPanel.prototype.reset):
3376 (WebInspector.ResourcesPanel.prototype.showResource):
3377 * inspector/front-end/StylesSidebarPane.js:
3378 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3379 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
3380 * inspector/front-end/TimelinePanel.js:
3381 (WebInspector.TimelinePanel.prototype._createTopPane):
3382 * inspector/front-end/inspector.js:
3383 * inspector/front-end/inspectorCommon.css:
3385 * inspector/front-end/treeoutline.js:
3386 (TreeOutline.prototype.revealAndSelect):
3387 (TreeElement.prototype.selectOnMouseDown):
3388 (TreeElement.prototype.revealAndSelect):
3389 (TreeElement.prototype.select):
3391 2011-08-12 Yury Semikhatsky <yurys@chromium.org>
3393 Unreviewed. Inspector clean-up: remove unused method declaration from InspectorAgent.h
3395 * inspector/InspectorAgent.h:
3397 2011-08-12 Vsevolod Vlasov <vsevik@chromium.org>
3399 Web Inspector: Network resource identifier should have RequestId type and requestId name in protocol.
3400 https://bugs.webkit.org/show_bug.cgi?id=66061
3402 Reviewed by Pavel Feldman.
3404 * inspector/ConsoleMessage.cpp:
3405 (WebCore::ConsoleMessage::ConsoleMessage):
3406 (WebCore::ConsoleMessage::addToFrontend):
3407 * inspector/ConsoleMessage.h:
3408 * inspector/IdentifiersFactory.cpp:
3409 (WebCore::IdentifiersFactory::requestId):
3410 * inspector/IdentifiersFactory.h:
3411 * inspector/Inspector.json:
3412 * inspector/InspectorConsoleAgent.cpp:
3413 (WebCore::InspectorConsoleAgent::didReceiveResponse):
3414 (WebCore::InspectorConsoleAgent::didFailLoading):
3415 * inspector/InspectorResourceAgent.cpp:
3416 (WebCore::InspectorResourceAgent::willSendRequest):
3417 (WebCore::InspectorResourceAgent::markResourceAsCached):
3418 (WebCore::InspectorResourceAgent::didReceiveResponse):
3419 (WebCore::InspectorResourceAgent::didReceiveData):
3420 (WebCore::InspectorResourceAgent::didFinishLoading):
3421 (WebCore::InspectorResourceAgent::didFailLoading):
3422 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3423 (WebCore::InspectorResourceAgent::setInitialScriptContent):
3424 (WebCore::InspectorResourceAgent::didReceiveScriptResponse):
3425 (WebCore::InspectorResourceAgent::setInitialXHRContent):
3426 (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
3427 (WebCore::InspectorResourceAgent::didCreateWebSocket):
3428 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
3429 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
3430 (WebCore::InspectorResourceAgent::didCloseWebSocket):
3431 (WebCore::InspectorResourceAgent::getResourceContent):
3432 * inspector/InspectorResourceAgent.h:
3433 * inspector/InspectorTimelineAgent.cpp:
3434 (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3435 (WebCore::InspectorTimelineAgent::willReceiveResourceData):
3436 (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
3437 (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3438 * inspector/NetworkResourcesData.cpp:
3439 (WebCore::NetworkResourcesData::ResourceData::ResourceData):
3440 (WebCore::NetworkResourcesData::resourceCreated):
3441 (WebCore::NetworkResourcesData::responseReceived):
3442 (WebCore::NetworkResourcesData::setResourceType):
3443 (WebCore::NetworkResourcesData::resourceType):
3444 (WebCore::NetworkResourcesData::setResourceContent):
3445 (WebCore::NetworkResourcesData::maybeAddResourceData):
3446 (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
3447 (WebCore::NetworkResourcesData::addCachedResource):
3448 (WebCore::NetworkResourcesData::addResourceSharedBuffer):
3449 (WebCore::NetworkResourcesData::data):
3450 (WebCore::NetworkResourcesData::clear):
3451 (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
3452 (WebCore::NetworkResourcesData::ensureFreeSpace):
3453 * inspector/NetworkResourcesData.h:
3454 (WebCore::NetworkResourcesData::ResourceData::requestId):
3455 * inspector/TimelineRecordFactory.cpp:
3456 (WebCore::TimelineRecordFactory::createResourceSendRequestData):
3457 (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
3458 (WebCore::TimelineRecordFactory::createResourceFinishData):
3459 (WebCore::TimelineRecordFactory::createReceiveResourceData):
3460 * inspector/TimelineRecordFactory.h:
3461 * inspector/front-end/ConsoleView.js:
3462 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
3463 * inspector/front-end/ExtensionAPI.js:
3464 (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
3465 * inspector/front-end/ExtensionServer.js:
3466 (WebInspector.ExtensionServer):
3467 (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
3468 (WebInspector.ExtensionServer.prototype._onGetHAR):
3469 (WebInspector.ExtensionServer.prototype._requestId):
3470 * inspector/front-end/NetworkManager.js:
3471 (WebInspector.NetworkManager.prototype.requestContent):
3472 (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
3473 (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
3474 (WebInspector.NetworkDispatcher.prototype.responseReceived):
3475 (WebInspector.NetworkDispatcher.prototype.dataReceived):
3476 (WebInspector.NetworkDispatcher.prototype.loadingFinished):
3477 (WebInspector.NetworkDispatcher.prototype.loadingFailed):
3478 (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
3479 (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
3480 (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
3481 (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
3482 (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
3483 (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3484 (WebInspector.NetworkDispatcher.prototype._startResource):
3485 (WebInspector.NetworkDispatcher.prototype._finishResource):
3486 (WebInspector.NetworkDispatcher.prototype._createResource):
3487 * inspector/front-end/NetworkPanel.js:
3488 (WebInspector.NetworkLogView.prototype._appendResource):
3489 (WebInspector.NetworkLogView.prototype._matchResource):
3490 (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
3491 (WebInspector.NetworkLogView.prototype.performSearch):
3492 * inspector/front-end/Resource.js:
3493 (WebInspector.Resource):
3494 * inspector/front-end/TimelinePanel.js:
3495 (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
3496 (WebInspector.TimelinePanel.prototype._findParentRecord):
3497 (WebInspector.TimelinePanel.FormattedRecord):
3499 2011-08-11 Hans Wennborg <hans@chromium.org>
3501 IndexedDB: Object store records don't need to have keys in all indexes
3502 https://bugs.webkit.org/show_bug.cgi?id=66049
3504 Reviewed by Tony Chang.
3506 Allow inserting records in an object store even though they don't
3507 yield keys in some index. The spec has changed in this regard.
3509 * storage/IDBObjectStoreBackendImpl.cpp:
3510 (WebCore::IDBObjectStoreBackendImpl::putInternal):
3512 2011-08-10 Hans Wennborg <hans@chromium.org>
3514 IndexedDB: Overwriting key in unique index should be possible
3515 https://bugs.webkit.org/show_bug.cgi?id=65993
3517 Reviewed by Tony Chang.
3519 It should be possible to overwrite an object store record even if
3520 there is a derived key for that record in an index with the unique flag set.
3522 * storage/IDBBackingStore.h:
3523 * storage/IDBIndexBackendImpl.cpp:
3524 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
3525 * storage/IDBIndexBackendImpl.h:
3526 * storage/IDBLevelDBBackingStore.cpp:
3527 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
3528 * storage/IDBLevelDBBackingStore.h:
3529 * storage/IDBObjectStoreBackendImpl.cpp:
3530 (WebCore::IDBObjectStoreBackendImpl::putInternal):
3531 * storage/IDBSQLiteBackingStore.cpp:
3532 (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
3533 * storage/IDBSQLiteBackingStore.h:
3535 2011-08-11 Yuta Kitamura <yutak@chromium.org>
3537 WebSocket: Implement "protocol" attribute
3538 https://bugs.webkit.org/show_bug.cgi?id=65248
3540 Reviewed by Kent Tamura.
3542 Tests: http/tests/websocket/tests/hybi/no-subprotocol.html (added)
3543 http/tests/websocket/tests/hybi/set-protocol.html (added)
3544 http/tests/websocket/tests/hybi/workers/no-subprotocol.html (added)
3545 http/tests/websocket/tests/hixie76/undefined-attributes.html (updated)
3546 http/tests/websocket/tests/hybi/multiple-subprotocols.html (updated)
3547 http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html (updated)
3549 * websockets/ThreadableWebSocketChannel.h:
3550 Added subprotocol() function. This function is named differently from the counterpart of
3551 WebSocket class, because the name "protocol" can be confused with the WebSocket protocol.
3552 Added m_useHixie76Protocol and m_subprotocol, because these value may be used after
3553 m_channel has been released. Using bool should be fine, because boolean literals do not
3554 appear in ambiguous context.
3555 * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3556 (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
3557 (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
3558 (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
3559 * websockets/ThreadableWebSocketChannelClientWrapper.h:
3560 * websockets/WebSocket.cpp:
3561 (WebCore::WebSocket::WebSocket):
3562 (WebCore::WebSocket::connect):
3563 (WebCore::WebSocket::protocol):
3564 The "protocol" attribute is available only when the hybi-10 protocol is chosen.
3565 (WebCore::WebSocket::binaryType):
3566 (WebCore::WebSocket::setBinaryType):
3567 (WebCore::WebSocket::didConnect):
3568 * websockets/WebSocket.h:
3569 * websockets/WebSocket.idl:
3570 * websockets/WebSocketChannel.cpp:
3571 (WebCore::WebSocketChannel::subprotocol):
3572 * websockets/WebSocketChannel.h:
3573 * websockets/WorkerThreadableWebSocketChannel.cpp:
3574 (WebCore::WorkerThreadableWebSocketChannel::subprotocol):
3575 (WebCore::workerContextDidConnect):
3576 Subprotocol value is saved in the client wrapper object after the WebSocket connection is
3578 (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
3579 * websockets/WorkerThreadableWebSocketChannel.h:
3581 2011-08-11 Hayato Ito <hayato@chromium.org>
3583 Implement proper handling of events with a related target in regard to shadow DOM boundaries.
3584 https://bugs.webkit.org/show_bug.cgi?id=65899
3586 Reviewed by Dimitri Glazkov.
3588 Fixes issues in the following corner cases:
3589 1. When both a target node and a relatedTarget node are immediate children of
3590 the same shadow root, an event is not dispatched.
3591 2. If a target node is an ancestor of a relatedTarget node, crossing
3592 shadow boundaries, or vice verse, an event is not dispatched or wrongly
3595 Test: fast/dom/shadow/shadow-boundary-events.html
3597 * dom/EventDispatcher.cpp:
3598 (WebCore::EventDispatcher::adjustToShadowBoundaries):
3600 2011-08-11 John Bauman <jbauman@chromium.org>
3602 Readback composited webgl results for printing
3603 https://bugs.webkit.org/show_bug.cgi?id=65658
3605 Reviewed by James Robinson.
3607 The real composited results may be locked inside the compositor
3608 context's version of a texture because the drawing buffer was
3609 automatically cleared, so read from there to get the actual presented
3612 * html/canvas/WebGLRenderingContext.cpp:
3613 (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
3614 * platform/graphics/GraphicsContext3D.h:
3615 * platform/graphics/chromium/Extensions3DChromium.h:
3616 * platform/graphics/chromium/WebGLLayerChromium.cpp:
3617 (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
3618 * platform/graphics/chromium/WebGLLayerChromium.h:
3619 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3620 (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
3622 2011-08-11 Andrew Wason <rectalogic@rectalogic.com>
3624 REGRESSION: Qt JavaScript bridge signal connection fails
3625 https://bugs.webkit.org/show_bug.cgi?id=66097
3627 Reviewed by Gavin Barraclough.
3629 Tests in WebKit/qt/tests/qwebframe
3631 Call toThisObject() on exec->lexicalGlobalObject() so the correct
3632 object is passed to the JS signal handler.
3634 * bridge/qt/qt_runtime.cpp:
3635 (JSC::Bindings::QtRuntimeConnectionMethod::call):
3637 2011-08-11 Nico Weber <thakis@chromium.org>
3639 Remove incorrect comment about m_wheelEventHandlerCount
3640 https://bugs.webkit.org/show_bug.cgi?id=66117
3642 Reviewed by Simon Fraser.
3644 From what I can tell, this number is changed only in
3645 Frame::notifyChromeClientWheelEventHandlerCountChanged(),
3646 and there it just reads the number modified in
3647 Document::didAdd/RemoveWheelEventHandler(). So this is just the number
3648 of event handlers (and not related to horizontal scrollbars), and the
3649 variable name expresses that already.
3653 2011-08-11 James Robinson <jamesr@chromium.org>
3655 [chromium] Defer managed texture creation and destruction until updateCompositorResources
3656 https://bugs.webkit.org/show_bug.cgi?id=64772
3658 Reviewed by Kenneth Russell.
3660 This adds support for deferring GraphicsContext3D calls for texture creation and destruction for managed
3661 textures and defers these calls until updateCompositorResources() for contents textures. The primary benefit of
3662 this change is that it decouples managing the texture budget for the next frame (which has to happen before
3663 painting layer contents) from the actual GL calls that create/destroy textures. That way, in the threaded
3664 compositing world we can continue to use textures from the previous frame while software painting contents for
3665 the next frame into software buffers or SkPictures.
3667 Also renames LayerTexture to ManagedTexture to better reflect what it is. Not all ManagedTextures we create are
3668 necessarily associated with layers, but they are all managed by a TextureManager.
3670 Covered by compositing/ layout tests.
3673 * platform/graphics/chromium/ContentLayerChromium.h:
3674 * platform/graphics/chromium/ImageLayerChromium.cpp:
3675 (WebCore::ImageLayerTextureUpdater::updateTextureRect):
3676 * platform/graphics/chromium/LayerRendererChromium.cpp:
3677 (WebCore::LayerRendererChromium::releaseTextures):
3678 (WebCore::LayerRendererChromium::drawLayers):
3679 (WebCore::LayerRendererChromium::updateLayers):
3680 (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
3681 (WebCore::LayerRendererChromium::useRenderSurface):
3682 (WebCore::LayerRendererChromium::initializeSharedObjects):
3683 * platform/graphics/chromium/LayerRendererChromium.h:
3684 * platform/graphics/chromium/LayerTextureUpdater.h:
3685 * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
3686 (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
3687 (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
3688 * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
3689 * platform/graphics/chromium/LayerTilerChromium.cpp:
3690 (WebCore::LayerTilerChromium::getSingleTexture):
3691 (WebCore::LayerTilerChromium::createTile):
3692 (WebCore::LayerTilerChromium::updateRect):
3693 (WebCore::LayerTilerChromium::drawTiles):
3694 * platform/graphics/chromium/LayerTilerChromium.h:
3695 (WebCore::LayerTilerChromium::Tile::Tile):
3696 (WebCore::LayerTilerChromium::Tile::texture):
3697 * platform/graphics/chromium/ManagedTexture.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.cpp.
3698 (WebCore::ManagedTexture::ManagedTexture):
3699 (WebCore::ManagedTexture::~ManagedTexture):
3700 (WebCore::ManagedTexture::isValid):
3701 (WebCore::ManagedTexture::reserve):
3702 (WebCore::ManagedTexture::unreserve):
3703 (WebCore::ManagedTexture::bindTexture):
3704 (WebCore::ManagedTexture::framebufferTexture2D):
3705 * platform/graphics/chromium/ManagedTexture.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.h.
3706 (WebCore::ManagedTexture::create):
3707 (WebCore::ManagedTexture::format):
3708 (WebCore::ManagedTexture::isReserved):
3709 * platform/graphics/chromium/RenderSurfaceChromium.h:
3710 * platform/graphics/chromium/TextureManager.cpp:
3711 (WebCore::TextureManager::TextureManager):
3712 (WebCore::TextureManager::deleteEvictedTextures):
3713 (WebCore::TextureManager::removeTexture):
3714 (WebCore::TextureManager::allocateTexture):
3715 (WebCore::TextureManager::requestTexture):
3716 * platform/graphics/chromium/TextureManager.h:
3717 (WebCore::TextureManager::create):
3718 (WebCore::TextureManager::setAssociatedContextDebugOnly):
3719 (WebCore::TextureManager::associatedContextDebugOnly):
3720 * platform/graphics/chromium/TiledLayerChromium.h:
3721 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3722 (WebCore::CCHeadsUpDisplay::draw):
3723 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
3724 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3725 (WebCore::CCRenderSurface::prepareContentsTexture):
3726 (WebCore::CCRenderSurface::drawSurface):
3727 * platform/graphics/chromium/cc/CCRenderSurface.h:
3728 (WebCore::CCRenderSurface::contentsTexture):
3729 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3730 (WebCore::CCTiledLayerImpl::bindContentsTexture):
3732 2011-08-11 David Kilzer <ddkilzer@apple.com>
3734 <http://webkit.org/b/66113> [CFNetwork] willCacheResponse() leaks CFCachedURLResponseRef if delegate changes CacheStoragePolicy
3736 Reviewed by Joseph Pecoraro.
3738 This first appeared in ToT WebKit r23462 (Windows merge).
3740 * platform/network/cf/ResourceHandleCFNet.cpp:
3741 (WebCore::willCacheResponse): Only retain cachedResponse if we
3742 are returning the same object passed into the method, otherwise
3743 we end up double-retaining the new object created.
3745 2011-08-05 Nat Duca <nduca@chromium.org>
3747 [chromium] Make WebViewImpl point at CCLayerTreeHost and related separation
3748 https://bugs.webkit.org/show_bug.cgi?id=65791
3750 With this patch, LayerRendererChromium becomes increasingly responsible
3751 for rendering, while render scheduling and tree hosting moves into the
3754 Reviewed by James Robinson.
3756 * platform/graphics/chromium/ContentLayerChromium.cpp:
3757 (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
3758 * platform/graphics/chromium/LayerChromium.h:
3759 * platform/graphics/chromium/LayerRendererChromium.cpp:
3760 (WebCore::LayerRendererChromium::create):
3761 (WebCore::LayerRendererChromium::LayerRendererChromium):
3762 (WebCore::LayerRendererChromium::initialize):
3763 (WebCore::LayerRendererChromium::releaseTextures):
3764 (WebCore::LayerRendererChromium::updateRootLayerContents):
3765 (WebCore::LayerRendererChromium::drawRootLayer):
3766 (WebCore::LayerRendererChromium::invalidateRootLayerRect):
3767 (WebCore::LayerRendererChromium::rootLayerChanged):
3768 (WebCore::LayerRendererChromium::viewportChanged):
3769 (WebCore::LayerRendererChromium::updateLayers):
3770 (WebCore::LayerRendererChromium::drawLayers):
3771 (WebCore::LayerRendererChromium::drawLayersInternal):
3772 (WebCore::LayerRendererChromium::getFramebufferPixels):
3773 (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
3774 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
3775 (WebCore::LayerRendererChromium::useRenderSurface):
3776 (WebCore::LayerRendererChromium::setScissorToRect):
3777 (WebCore::LayerRendererChromium::layerTreeAsText):
3778 (WebCore::LayerRendererChromium::dumpRenderSurfaces):
3779 * platform/graphics/chromium/LayerRendererChromium.h:
3780 (WebCore::LayerRendererChromium::settings):
3781 (WebCore::LayerRendererChromium::owner):
3782 (WebCore::LayerRendererChromium::rootLayer):
3783 (WebCore::LayerRendererChromium::skiaContext):
3784 * platform/graphics/chromium/WebGLLayerChromium.cpp:
3785 (WebCore::WebGLLayerChromium::setTextureUpdated):
3786 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3787 (WebCore::CCHeadsUpDisplay::draw):
3788 (WebCore::CCHeadsUpDisplay::enabled):
3789 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
3790 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3791 (WebCore::CCLayerTreeHost::create):
3792 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3793 (WebCore::CCLayerTreeHost::initialize):
3794 (WebCore::CCLayerTreeHost::animateAndLayout):
3795 (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
3796 (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
3797 (WebCore::CCLayerTreeHost::context):
3798 (WebCore::CCLayerTreeHost::compositeAndReadback):
3799 (WebCore::CCLayerTreeHost::createRootLayerPainter):
3800 (WebCore::CCLayerTreeHost::finishAllRendering):
3801 (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
3802 (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
3803 (WebCore::CCLayerTreeHost::setNeedsRedraw):
3804 (WebCore::CCLayerTreeHost::setRootLayer):
3805 (WebCore::CCLayerTreeHost::setViewport):
3806 (WebCore::CCLayerTreeHost::setVisible):
3807 (WebCore::CCLayerTreeHost::doComposite):
3808 (WebCore::CCLayerTreeHost::composite):
3809 (WebCore::CCLayerTreeHost::reallocateRenderer):
3810 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3811 (WebCore::CCLayerTreeHost::animating):
3812 (WebCore::CCLayerTreeHost::setAnimating):
3813 (WebCore::CCLayerTreeHost::rootLayer):
3814 (WebCore::CCLayerTreeHost::settings):
3815 (WebCore::CCLayerTreeHost::viewportContentRect):
3816 (WebCore::CCLayerTreeHost::viewportScrollPosition):
3817 (WebCore::CCLayerTreeHost::viewportVisibleRect):
3818 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3819 (WebCore::CCLayerTreeHostImpl::create):
3820 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3821 (WebCore::CCLayerTreeHostImpl::drawLayers):
3822 (WebCore::CCLayerTreeHostImpl::drawLayersOnMainThread):
3823 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3824 * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
3825 (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
3827 2011-08-11 Jeff Miller <jeffm@apple.com>
3829 WebCore::AVFWrapper fails to remove observer for kCACFContextNeedsFlushNotification
3830 https://bugs.webkit.org/show_bug.cgi?id=66116
3832 We need to pass 0 as the object parameter to CFNotificationCenterRemoveObserver() when removing
3833 kCACFContextNeedsFlushNotification to match what we do when we registered for the same
3834 notification with CFNotificationCenterAddObserver().
3836 Reviewed by John Sullivan.
3838 No new tests, uses existing media tests.
3840 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
3841 (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Pass 0 as the object parameter to CFNotificationCenterRemoveObserver().
3842 (WebCore::AVFWrapper::notificationCallback): Remove obsolete FIXME comment.
3844 2011-08-11 Ryosuke Niwa <rniwa@webkit.org>
3846 Share code between isStyleSpanOrSpanWithOnlyStyleAttribute, isUnstyledStyleSpan,
3847 isSpanWithoutAttributesOrUnstyleStyleSpan and replaceWithSpanOrRemoveIfWithoutAttributes
3848 https://bugs.webkit.org/show_bug.cgi?id=66091
3850 Reviewed by Tony Chang.
3852 Extracted common code as hasNoAttributeOrOnlyStyleAttribute. The only behavioral difference is that
3853 replaceWithSpanOrRemoveIfWithoutAttributes will now remove elements with class="Apple-style-span",
3854 for which I'm adding a test.
3856 Test: editing/style/remove-styled-element-with-style-span.html
3858 * editing/ApplyStyleCommand.cpp:
3859 (WebCore::hasNoAttributeOrOnlyStyleAttribute):
3860 (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
3861 (WebCore::isUnstyledStyleSpan):
3862 (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
3863 (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
3865 2011-08-11 Tom Zakrajsek <tomz@codeaurora.org>
3867 Add HTMLUnknownElement interface as defined in
3868 http://www.w3.org/TR/html5/elements.html#elements-in-the-dom.
3869 https://bugs.webkit.org/show_bug.cgi?id=41841
3871 Reviewed by Adam Barth.
3873 Test: fast/html/unknown-tag.html
3876 * CodeGenerators.pri:
3877 * DerivedSources.cpp:
3878 * DerivedSources.make:
3879 * GNUmakefile.list.am:
3881 * WebCore.vcproj/WebCore.vcproj:
3882 * WebCore.xcodeproj/project.pbxproj:
3883 * bindings/scripts/CodeGeneratorV8.pm:
3885 * dom/make_names.pl:
3886 (defaultParametersHash):
3887 (buildConstructorMap):
3888 (printJSElementIncludes):
3889 (printElementIncludes):
3890 (printWrapperFunctions):
3891 (printWrapperFactoryCppFile):
3892 * html/HTMLTagNames.in:
3893 * html/HTMLUnknownElement.h: Added.
3894 (WebCore::HTMLUnknownElement::create):
3895 (WebCore::HTMLUnknownElement::HTMLUnknownElement):
3896 * html/HTMLUnknownElement.idl: Added.
3897 * mathml/mathtags.in:
3898 * page/DOMWindow.idl:
3901 2011-08-11 Levi Weintraub <leviw@chromium.org>
3903 Remove dead code: borderInnerRect
3904 https://bugs.webkit.org/show_bug.cgi?id=66087
3906 Reviewed by Adam Barth.
3908 Removing an old and currently unused function: RenderObject::borderInnerRect.
3910 No new tests since I'm just pruning dead code.
3912 * rendering/RenderObject.cpp:
3913 * rendering/RenderObject.h:
3915 2011-08-11 Simon Fraser <simon.fraser@apple.com>
3917 Avoid adding the visible wash layer twice
3918 https://bugs.webkit.org/show_bug.cgi?id=66098
3920 Reviewed by Chris Marrin.
3922 Fix two issues; only create a m_visibleTileWashLayer if we don't have one
3923 already, and avoid adding multiple m_visibleTileWashLayers to the sublayers
3924 array when flipping between tiled and non-tiled.
3926 * platform/graphics/ca/GraphicsLayerCA.cpp:
3927 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3929 2011-08-11 Benjamin Poulain <benjamin@webkit.org>
3931 The PageSerializer should always use absolute URL
3932 https://bugs.webkit.org/show_bug.cgi?id=66006
3934 Reviewed by Adam Barth.
3936 Page serializer resolves every URL for storing the resources.
3937 The MarkupAccumulator used there should use the same rules in order to
3938 create a valid file.
3940 No new tests because the test infrastructure for this
3941 does not exist with layout tests and the Chromium unit test for
3942 the serializer are disabled.
3944 * page/PageSerializer.cpp:
3945 (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
3947 2011-08-01 Adrienne Walker <enne@google.com>
3949 Enable fast path scrolling for composited iframes
3950 https://bugs.webkit.org/show_bug.cgi?id=65056
3952 Reviewed by James Robinson.
3954 iframes with composited layers for content should be able to do fast
3955 path scrolling because they draw into their own backing. To enable
3956 this, useSlowRepaints is modified to return true only for the cases
3957 that apply to composited layers. The fast path scrolling function is
3958 modified to send the invalidation to the backing itself rather than to
3961 Renamed a number of "slow repaint" functions to be the more accurate
3962 "cannot blit to window" as it will not always force slow path
3965 * page/FrameView.cpp:
3966 (WebCore::FrameView::reset):
3967 (WebCore::FrameView::useSlowRepaints):
3968 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
3969 (WebCore::FrameView::contentsInCompositedLayer):
3970 (WebCore::FrameView::setCannotBlitToWindow):
3971 (WebCore::FrameView::scrollContentsFastPath):
3972 (WebCore::FrameView::scrollContentsSlowPath):
3974 * rendering/RenderLayer.cpp:
3975 (WebCore::RenderLayer::cannotBlitToWindow):
3976 * rendering/RenderLayer.h:
3977 * rendering/RenderView.cpp:
3978 (WebCore::RenderView::paintBoxDecorations):
3980 2011-08-10 Adrienne Walker <enne@google.com>
3982 Support creating compositing layers for scrollable frames and iframes
3983 https://bugs.webkit.org/show_bug.cgi?id=55257
3985 Reviewed by James Robinson.
3987 When force compositing mode is turned on, iframes with overflow will
3988 become composited (in order to enable faster scrolling).
3990 This patch was originally by Daniel Sievers <sievers@chromium.org>.
3992 Tests: platform/chromium/compositing/force-compositing-mode/no-overflow-iframe-layer.html
3993 platform/chromium/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html
3994 platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html
3995 platform/chromium/compositing/force-compositing-mode/overflow-iframe-layer.html
3996 platform/chromium/compositing/force-compositing-mode/overflow-iframe-leave-compositing.html
3998 * rendering/RenderLayerCompositor.cpp:
3999 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
4000 (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
4001 * rendering/RenderLayerCompositor.h:
4003 2011-08-11 Yong Li <yoli@rim.com>
4005 https://bugs.webkit.org/show_bug.cgi?id=65944
4006 Replace QuotesData::operator==() with QuotesData::equal(const QuotesData*
4007 , const QuotesData*) because QuotesData::operator==() were using non-standard
4008 C++ code that is not supported by all compilers.
4010 Reviewed by Alexey Proskuryakov.
4012 No new tests because some existing test cases can show the issue,
4013 for example, fast/css/content/content-quotes-01.html.
4015 * rendering/RenderQuote.cpp:
4016 (WebCore::RenderQuote::styleDidChange):
4017 * rendering/style/QuotesData.cpp:
4018 (WebCore::QuotesData::equal):
4019 * rendering/style/QuotesData.h:
4020 * rendering/style/RenderStyle.cpp:
4021 (WebCore::RenderStyle::setQuotes):
4022 * rendering/style/StyleRareInheritedData.cpp:
4023 (WebCore::StyleRareInheritedData::operator==):
4025 2011-08-11 David Hyatt <hyatt@apple.com>
4027 https://bugs.webkit.org/show_bug.cgi?id=66075
4029 Turn on regions and exclusions by default. Fix one stray ifdef that I missed.
4031 Reviewed by James Robinson.
4033 * css/CSSComputedStyleDeclaration.cpp:
4034 (WebCore::contentToCSSValue):
4036 2011-08-11 David Reveman <reveman@chromium.org>
4038 [Chromium] Temporarily disable layer anti-aliasing on ChromeOS.
4039 https://bugs.webkit.org/show_bug.cgi?id=65922
4041 Reviewed by James Robinson.
4045 * platform/graphics/chromium/LayerTilerChromium.cpp:
4046 (WebCore::LayerTilerChromium::draw):
4048 2011-08-11 Benjamin Poulain <benjamin@webkit.org>
4050 [Qt] PageSerializer is specific to MHTML, we should not compile it
4051 https://bugs.webkit.org/show_bug.cgi?id=66054
4053 Reviewed by Noam Rosenthal.
4055 PageSerializer is specific to MHTML. Do not build PageSerializer unless MHTML is enabled.
4059 2011-08-11 Andrey Kosyakov <caseq@chromium.org>
4061 Web Inspector: [refactoring] make tabbed pane a view
4062 https://bugs.webkit.org/show_bug.cgi?id=66060
4064 Reviewed by Pavel Feldman.
4066 * inspector/front-end/NetworkItemVi