76ca1b2816f73b7efa525ac22dab7e066e1bb227
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-17  Emil A Eklund  <eae@chromium.org>
2
3         Switch FrameView to to new layout types
4         https://bugs.webkit.org/show_bug.cgi?id=66147
5
6         Reviewed by Eric Seidel.
7
8         Convert Frame & FrameView to new layout abstraction as a part of the
9         ongoing conversion work.
10
11         No new tests, no new functionality.
12
13         * page/Frame.cpp:
14         (WebCore::Frame::visiblePositionForPoint):
15         (WebCore::Frame::documentAtPoint):
16         (WebCore::Frame::rangeForPoint):
17         (WebCore::Frame::setPageAndTextZoomFactors):
18         (WebCore::Frame::scalePage):
19         * page/Frame.h:
20         * page/FrameView.cpp:
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):
55         * page/FrameView.h:
56         (WebCore::FrameView::marginWidth):
57         (WebCore::FrameView::marginHeight):
58         * page/mac/FrameMac.mm:
59         (WebCore::Frame::snapshotDragImage):
60         (WebCore::Frame::nodeImage):
61
62 2011-08-17  Emil A Eklund  <eae@chromium.org>
63
64         Switch html/* to to new layout types
65         https://bugs.webkit.org/show_bug.cgi?id=66347
66
67         Reviewed by Eric Seidel.
68
69         Convert HTML* and shadow element to new layout abstraction as a part of
70         the ongoing conversion work.
71
72         No new tests, no new functionality.
73
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:
95         (WebCore::size):
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):
109
110 2011-08-17  David Grogan  <dgrogan@chromium.org>
111
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
115
116         Reviewed by Tony Gentilcore.
117
118         Tests: new-run-webkit-tests --debug --chromium --no-retry-failures --build-directory=llvm storage/indexeddb
119
120         * WebCore.gyp/WebCore.gyp:
121
122 2011-08-17  Hayato Ito  <hayato@chromium.org>
123
124         Implement proper handling of focus/blur events in regard to shadow DOM boundaries.
125         https://bugs.webkit.org/show_bug.cgi?id=61421
126
127         Reviewed by Dimitri Glazkov.
128
129         Introduces FocusEventDispatchMediator/BlurEventDispatchMediator so
130         that focus/blue events are stopped at the lowest common shadow boundary.
131
132         * dom/Document.cpp:
133         (WebCore::Document::setFocusedNode):
134         * dom/Event.cpp:
135         (WebCore::FocusEventDispatchMediator::create):
136         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
137         (WebCore::FocusEventDispatchMediator::dispatchEvent):
138         (WebCore::BlurEventDispatchMediator::create):
139         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
140         (WebCore::BlurEventDispatchMediator::dispatchEvent):
141         * dom/Event.h:
142         * dom/Node.cpp:
143         (WebCore::Node::dispatchFocusEvent):
144         (WebCore::Node::dispatchBlurEvent):
145         * dom/Node.h:
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):
159
160 2011-08-17  Ben Wells  <benwells@chromium.org>
161
162         Canvas fill and fillRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
163         https://bugs.webkit.org/show_bug.cgi?id=66036
164
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
168         the entire canvas.
169
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 
172         area being filled.
173
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.
176
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.
181
182         Reviewed by James Robinson.
183
184         Test: fast/canvas/canvas-composite-transformclip.html
185
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):
196
197 2011-08-17  Emil A Eklund  <eae@chromium.org>
198
199         Switch inspector to to new layout types
200         https://bugs.webkit.org/show_bug.cgi?id=66358
201
202         Reviewed by Eric Seidel.
203
204         Convert inspector code to new layout abstraction as a part of the ongoing
205         conversion work.
206
207         No new tests, no new functionality.
208
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:
221
222 2011-08-17  Levi Weintraub  <leviw@chromium.org>
223
224         Switch Editing code to new layout types
225         https://bugs.webkit.org/show_bug.cgi?id=66355
226
227         Reviewed by Eric Seidel.
228
229         Converting remaining editing code to the LayoutUnit abstraction.
230
231         No new tests, no change in functionality.
232
233         * editing/Editor.cpp:
234         (WebCore::Editor::rangeForPoint):
235         (WebCore::Editor::insideVisibleArea):
236         (WebCore::Editor::countMatchesForText):
237         * editing/Editor.h:
238         * editing/mac/FrameSelectionMac.mm:
239         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
240
241 2011-08-17  Levi Weintraub  <leviw@chromium.org>
242
243         Switch Accessibility code to new layout types
244         https://bugs.webkit.org/show_bug.cgi?id=66348
245
246         Reviewed by Eric Seidel.
247
248         Converting remaining Accessibility code to the LayoutUnit abstraction.
249
250         No new tests, no change in functionality
251
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]):
313
314 2011-08-17  Emil A Eklund  <eae@chromium.org>
315
316         Switch focus handling to to new layout types
317         https://bugs.webkit.org/show_bug.cgi?id=66331
318
319         Reviewed by Eric Seidel.
320
321         Convert FocusController and SpatialNavigation to new layout abstraction
322         as a part of the ongoing conversion work.
323
324         No new tests, no new functionality.
325
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):
334         (WebCore::start):
335         (WebCore::middle):
336         (WebCore::end):
337         (WebCore::areRectsFullyAligned):
338         (WebCore::areRectsPartiallyAligned):
339         (WebCore::areRectsMoreThanFullScreenApart):
340         (WebCore::below):
341         (WebCore::rightOf):
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:
356
357 2011-08-17  Levi Weintraub  <leviw@chromium.org>
358
359         Switch Document, DocumentMarker, Clipboard, and Range to new layout types
360         https://bugs.webkit.org/show_bug.cgi?id=66330
361
362         Reviewed by Eric Seidel.
363
364         Converting the remaining DOM classes to use the LayoutUnit abstraction.
365
366         No new tests, no new behavior.
367
368         * dom/Clipboard.h:
369         (WebCore::Clipboard::dragLocation):
370         * dom/Document.cpp:
371         (WebCore::Document::nodesFromRect):
372         (WebCore::nodeFromPoint):
373         (WebCore::Document::caretRangeFromPoint):
374         (WebCore::Document::prepareMouseEvent):
375         * dom/Document.h:
376         * dom/DocumentMarkerController.cpp:
377         (WebCore::DocumentMarkerController::markerContainingPoint):
378         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
379         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
380         * dom/DocumentMarkerController.h:
381         * dom/Range.cpp:
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):
389
390 2011-08-17  Dan Bernstein  <mitz@apple.com>
391
392         Removed an unused setting.
393
394         Reviewed by Anders Carlsson.
395
396         * WebCore.exp.in:
397         * page/Settings.cpp:
398         (WebCore::Settings::Settings): Removed initializer for m_needsTigerMailQuirks.
399         * page/Settings.h: Removed accessors.
400
401 2011-08-17  Oliver Hunt  <oliver@apple.com>
402
403         Move towards supporting user controlled prototypes on CanvasPixelArray
404         https://bugs.webkit.org/show_bug.cgi?id=66429
405
406         Reviewed by Gavin Barraclough.
407
408         Start using a per-global object structure for canvas pixel array.
409
410         * bindings/js/JSImageDataCustom.cpp:
411         (WebCore::toJS):
412
413 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
414
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
417
418         Reviewed by Eric Seidel.
419
420         No new tests - refactoring only.
421
422         The return if type!=CSS_NUMBER case becomes an ASSERT because it is unreachable unless there is an error in the parser.
423
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.
433
434 2011-08-17  Scott Byer  <scottbyer@chromium.org>
435
436         ScrollAnimatorNone: Remove unused field
437         https://bugs.webkit.org/show_bug.cgi?id=66312
438
439         Reviewed by Adam Barth.
440
441         No functional change; no test needed.
442
443         * platform/ScrollAnimatorNone.cpp:
444         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
445         (WebCore::ScrollAnimatorNone::scroll):
446         * platform/ScrollAnimatorNone.h:
447
448 2011-08-17  Jeff Miller  <jeffm@apple.com>
449
450         Work-in-progress on Soft link against AVFoundationCF and CoreMedia
451         https://bugs.webkit.org/show_bug.cgi?id=65725
452         
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
455         is enabled.
456
457         Reviewed by Anders Carlsson.
458
459         No new tests; no functional change.
460
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.
463
464 2011-08-17  Brady Eidson  <beidson@apple.com>
465
466         https://bugs.webkit.org/show_bug.cgi?id=66354 and <rdar://problem/9965209>
467         Regression:  On Lion, redirects lose HTTP authentication headers
468
469         Reviewed by Alexey Proskuryakov and Darin Adler.
470
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.
473
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
477
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.
482
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.
487
488 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
489
490         Accessibility stack exhaustion using role attribute
491         https://bugs.webkit.org/show_bug.cgi?id=65174
492
493         Reviewed by Darin Adler.
494
495         Forgot to commit review comments.
496
497         * accessibility/AccessibilityRenderObject.cpp:
498         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
499
500 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
501
502         Accessibility stack exhaustion using role attribute
503         https://bugs.webkit.org/show_bug.cgi?id=65174
504
505         Make sure we do not call accessibilityIsIgnored() during the AccessibilityObject
506         creation flow. That can lead to loops.
507    
508         Reviewed by Darin Adler.
509
510         Tests: accessibility/crash-determining-aria-role-when-label-present.html
511
512         * accessibility/AccessibilityObject.cpp:
513         (WebCore::createARIARoleMap):
514         * accessibility/AccessibilityRenderObject.cpp:
515         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
516         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
517         * accessibility/AccessibilityRenderObject.h:
518
519 2011-08-17  James Robinson  <jamesr@chromium.org>
520
521         [chromium] Crash if compositing is disabled during updateLayers()
522         https://bugs.webkit.org/show_bug.cgi?id=66353
523
524         Reviewed by Kenneth Russell.
525
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.
529
530         Crash fixed based on crash reports.  No known reliably repro case, unfortunately.
531
532         * platform/graphics/chromium/LayerRendererChromium.cpp:
533         (WebCore::LayerRendererChromium::drawLayers):
534
535 2011-08-17  Dan Bernstein  <mitz@apple.com>
536
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
539
540         Reviewed by Dave Hyatt.
541
542         Test: fast/text/midword-break-before-surrogate-pair-2.html
543
544         * rendering/RenderBlockLineLayout.cpp:
545         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Just never allow a mid-word
546         break before a trailing surrogate.
547
548 2011-08-16  Chang Shu  <cshu@webkit.org>
549
550         Support reset in WebCore::Internals
551         https://bugs.webkit.org/show_bug.cgi?id=66307
552
553         Reviewed by Dimitri Glazkov.
554
555         New tests will be added when function reset is implemented.
556
557         Added framework code in WebCoreTestSupport. The real implementation of
558         Internals::reset() depends on the need from the settings that require a reset.
559
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:
569
570 2011-08-17  Tony Chang  <tony@chromium.org>
571
572         Fix chromium mac compile.  MediaPlayerPrivateAVFoundationObjC.* moved
573         and the WebCore.gypi file wasn't updated.
574
575         * WebCore.gypi:
576
577 2011-08-17  Abhishek Arya  <inferno@chromium.org>
578
579         Crash in Document::recalcStyleSelector
580         https://bugs.webkit.org/show_bug.cgi?id=66335
581
582         Reviewed by Simon Fraser.
583
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.
588
589         Test: svg/dom/stylesheet-candidate-node-crash-main.html
590
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):
599
600 2011-08-17  Sam White  <samuel.white@rochester.edu>
601
602         AccessibilityObject levels are inconsistent
603         https://bugs.webkit.org/show_bug.cgi?id=66180
604         
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
607         non-table element.
608
609         Reviewed by Chris Fleizach.
610
611         Test: platform/mac/accessibility/element-level.html
612
613         * accessibility/AccessibilityTable.cpp:
614         (WebCore::AccessibilityTable::tableLevel):
615         * accessibility/mac/AccessibilityObjectWrapper.mm:
616         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
617
618 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
619
620         An arrow key collapses directionless selection range in the wrong direction in BiDi
621         https://bugs.webkit.org/show_bug.cgi?id=64626
622
623         Reviewed by Darin Adler.
624
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.
630
631         Test: editing/selection/collapse-selection-in-bidi.html
632
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:
639
640 2011-08-17  Jeff Miller  <jeffm@apple.com>
641
642         Some AVFoundation source files should be in platform-specific directories
643         https://bugs.webkit.org/show_bug.cgi?id=66352
644         
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/.
647         
648         While I was at it, added svn:eol-style property to the MediaPlayerPrivateAVFoundationObjC.* files.
649         
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.
652
653         Reviewed by Eric Carlson.
654
655         No new tests; no functional change.
656
657         * WebCore.vcproj/WebCore.vcproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf.
658
659         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added $(ProjectDir)..\platform\graphics\avfoundation\cf to include paths.
660
661         * WebCore.xcodeproj/project.pbxproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
662
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.
667
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.
671
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.
675
676 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
677
678         Only set m_fontDirty if TextSizeAdjust is actually changed.
679         https://bugs.webkit.org/show_bug.cgi?id=66022
680
681         Reviewed by Darin Adler.
682
683         No new tests. Refactoring only.
684
685         Reduces instances where the font information is dirtied to save recalculation where it is not necessary.
686
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.
696
697 2011-08-17  Kenichi Ishibashi  <bashi@chromium.org>
698
699         [Chromium] Crash in HarfbuzzFace::~HarfbuzzFace
700         https://bugs.webkit.org/show_bug.cgi?id=66211
701
702         Holds Skia's unique font ID instead of FontPlatformData to avoid accessing freed FontPlatformData.
703
704         Reviewed by Tony Chang.
705
706         No new tests; no functional change.
707
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:
713
714 2011-08-17  Jeff Miller  <jeffm@apple.com>
715
716         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
717
718         * WebCore.vcproj/WebCore.vcproj:
719
720 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
721
722         Chromium Mac: Fix implementation of wkScrollbarMinimumTotalLengthNeededForThumb to match WebKitSystemInterface
723         https://bugs.webkit.org/show_bug.cgi?id=66311
724
725         Reviewed by Dimitri Glazkov.
726
727         Updated wkScrollbarMinimumTotalLengthNeededForThumb() based on the latest disassembly of libWebKitSystemInterfaceLion.a.
728
729         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
730         (wkScrollbarMinimumTotalLengthNeededForThumb):
731
732 2011-08-17  Steve Block  <steveblock@google.com>
733
734         Unreviewed, rolling out r93186.
735         http://trac.webkit.org/changeset/93186
736         https://bugs.webkit.org/show_bug.cgi?id=66114
737
738         Breaks LayoutTests on Chromium canary bots
739
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:
746
747 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
748
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
752
753         Reviewed by Hajime Morita.
754
755         Removed calls to deprecatedNode and deprecatedEditingOffsets in the following files.
756
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.
763         * dom/Position.h:
764         (WebCore::Position::rootEditableElement): Added.
765         * dom/Range.cpp:
766         (WebCore::Range::setStart): Added.
767         (WebCore::Range::setEnd): Added.
768         * dom/Range.h:
769         * editing/InsertTextCommand.cpp:
770         (WebCore::InsertTextCommand::insertTab):
771         * editing/RenderedPosition.cpp:
772         (WebCore::renderObjectContainsPosition): Extracted from AccessibilityRenderObject::index.
773         * editing/RenderedPosition.h:
774
775 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
776
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
779
780         Reviewed by Dimitri Glazkov.
781
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.
788
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.
790
791         * platform/chromium/ScrollAnimatorChromiumMac.mm:
792         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
793         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
794         (wkScrollbarPainterForceFlashScrollers):
795
796 2011-08-16  Andrey Kosyakov  <caseq@chromium.org>
797
798         Web Inspector: maintain visible view hierarchy and dispatch common view events automatically
799         https://bugs.webkit.org/show_bug.cgi?id=66131
800
801         Reviewed by Pavel Feldman.
802
803         Test: inspector/view-events.html
804
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.
810
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:
901         (WebInspector.View):
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):
920
921 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
922
923         Represent RenderStyle::textOverflow property using an enum instead of a bool.
924         https://bugs.webkit.org/show_bug.cgi?id=66356
925
926         Reviewed by Dan Bernstein.
927
928         No new tests - no behavioral changes.
929
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.
949
950 2011-08-16  Jeff Miller  <jeffm@apple.com>
951
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
954         
955         Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
956
957         Reviewed by Darin Adler.
958
959         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
960
961 2011-08-16  David Levin  <levin@chromium.org>
962
963         REGRESSION (r89086): All worker xhr requests trigger preflight requests.
964         https://bugs.webkit.org/show_bug.cgi?id=66340
965
966         Reviewed by Adam Barth.
967
968         Test coming in a more comprehensive patch shortly. This is just a very targetted
969         patch to allow for easier merging.
970
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.
975
976 2011-08-16  Shawn Singh  <shawnsingh@chromium.org>
977
978         Computing screen-space transform for LayerChromium and CCLayerImpl
979         https://bugs.webkit.org/show_bug.cgi?id=66114
980
981         Reviewed by James Robinson.
982
983         Test: compositing/backface-visibility-hierarchical-transform.html
984
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
990         patches.
991
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.
995
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):
1007
1008 2011-08-16  Hayato Ito  <hayato@chromium.org>
1009
1010         Implement proper handling of events which happen in children of shadow hosts.
1011         https://bugs.webkit.org/show_bug.cgi?id=66285
1012
1013         Reviewed by Dimitri Glazkov.
1014
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.
1017
1018         Test: fast/dom/shadow/shadow-contents-event.html
1019
1020         * dom/EventDispatcher.cpp:
1021         (WebCore::EventDispatcher::adjustToShadowBoundaries):
1022
1023 2011-08-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
1024
1025         Make it possible to explicitly prevent a preflight via ThreadableLoaderOptions
1026         https://bugs.webkit.org/show_bug.cgi?id=65694
1027
1028         Reviewed by Alexey Proskuryakov.
1029
1030         No new tests since there is no change in behavior.
1031
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):
1043
1044 2011-08-16  Scott Byer  <scottbyer@chromium.org>
1045
1046         Fix spelling error.
1047         https://bugs.webkit.org/show_bug.cgi?id=66261
1048
1049         Reviewed by Adam Barth.
1050
1051         No functional change, no tests needed.
1052
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):
1076
1077 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
1078
1079         ASSERT in fast/css/custom-font-xheight.html
1080         https://bugs.webkit.org/show_bug.cgi?id=66328
1081
1082         Reviewed by Dan Bernstein.
1083
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
1087         purge preventer.
1088
1089         * css/CSSFontFaceSource.cpp:
1090         (WebCore::CSSFontFaceSource::getFontData):
1091
1092 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
1093
1094         Unreviewed Chromium Windows build fix after r93140. Take 4.
1095         Namespace the now public enum as FontCache::ShouldRetain.
1096
1097         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1098         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
1099
1100 2011-08-15  Stephen White  <senorblanco@chromium.org>
1101
1102         Canvas resizing can be slow
1103         https://bugs.webkit.org/show_bug.cgi?id=66251
1104
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).
1121
1122         Reviewed by Kenneth Russell.
1123
1124         Covered by existing tests in fast/canvas and canvas/philip.
1125
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
1132         well.
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
1143         it.
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
1151         create it here.
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).
1190
1191 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
1192
1193         Unreviewed Chromium Windows build fix after r93140. Take 3.
1194         Include the proper includes!
1195
1196         * platform/graphics/FontCache.h:
1197
1198 2011-08-16  Mihnea Ovidenie  <mihnea@adobe.com>
1199
1200         Unmatrix algorithm implementation is wrong
1201         https://bugs.webkit.org/show_bug.cgi?id=66080
1202
1203         Reviewed by Dean Jackson.
1204
1205         Current version of the algorithm negates only the scaleX while
1206         it should negate also scaleY and scaleZ when appropriate.
1207
1208         Test: animations/animation-matrix-negative-scale-unmatrix.html
1209
1210         * platform/graphics/transforms/TransformationMatrix.cpp:
1211         (WebCore::decompose):
1212
1213 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
1214
1215         Unreviewed Chromium Windows build fix after r93140.
1216
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.
1222
1223         * platform/graphics/FontCache.h:
1224
1225 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
1226
1227         Unreviewed Chromium Windows build fix after r93140.
1228
1229         * platform/graphics/FontCache.h:
1230
1231 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
1232
1233         Unreviewed Windows and Chromium Windows build fix after r93140.
1234
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):
1243
1244 2011-08-16  Adam Roben  <aroben@apple.com>
1245
1246         Make placeholder text remain visible until a character is typed on Windows
1247
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
1250
1251         Covered by existing tests (which are currently failing on the bots until this patch lands).
1252
1253         Reviewed by Dave Hyatt.
1254
1255         * rendering/RenderThemeSafari.h:
1256         (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused):
1257         * rendering/RenderThemeWin.h:
1258         (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
1259         Added overrides to return true.
1260
1261 2011-08-16  David Hyatt  <hyatt@apple.com>
1262
1263         https://bugs.webkit.org/show_bug.cgi?id=66254
1264
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
1267         content.
1268
1269         Reviewed by Simon Fraser.
1270
1271         Added new tests in fast/repaint.
1272
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):
1286
1287 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
1288
1289         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
1290         https://bugs.webkit.org/show_bug.cgi?id=66153
1291
1292         Reviewed by Dan Bernstein.
1293
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.
1300
1301         No new tests, no functional change.
1302
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):
1331
1332 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
1333
1334         Chromium Mac: Rubber banding gutter drawing
1335         https://bugs.webkit.org/show_bug.cgi?id=66226
1336
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.
1341
1342         Reviewed by Dimitri Glazkov.
1343
1344         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
1345
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):
1359
1360 2011-08-12  Wyatt Carss  <wcarss@chromium.org>
1361
1362         Programmatically set selection should not have direction on Mac
1363         https://bugs.webkit.org/show_bug.cgi?id=60529
1364
1365         Reviewed by Ryosuke Niwa.
1366
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.
1372         
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.
1378
1379         * WebCore.exp.in:
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):
1431
1432 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
1433
1434         New XML parser: Add document fragment parser
1435         https://bugs.webkit.org/show_bug.cgi?id=66317
1436
1437         Reviewed by Adam Barth.
1438
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):
1453
1454 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
1455
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
1458
1459         Reviewed by Adam Barth.
1460
1461         This patch checks for character data in the prolog (which is illegal in XML) and discards it, instead of failing an assertion.
1462
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:
1470
1471 2011-08-16  Alexander Pavlov  <apavlov@chromium.org>
1472
1473         Web Inspector: word wrap long edits
1474         https://bugs.webkit.org/show_bug.cgi?id=65512
1475
1476         Reviewed by Pavel Feldman.
1477
1478         * inspector/front-end/inspector.css:
1479         (.styles-section .properties li.child-editing):
1480
1481 2011-08-16  Pavel Feldman  <pfeldman@google.com>
1482
1483         Web Inspector: convert DOM breakpoint types to strings.
1484         https://bugs.webkit.org/show_bug.cgi?id=66304
1485
1486         Reviewed by Yury Semikhatsky.
1487
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):
1496
1497 2011-08-16  Pavel Feldman  <pfeldman@google.com>
1498
1499         Web Inspector: force pseudo element state when checking it in the styles sidebar.
1500         https://bugs.webkit.org/show_bug.cgi?id=66292
1501
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.
1505
1506         Reviewed by David Hyatt.
1507
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):
1532
1533 2011-08-16  Tony Chang  <tony@chromium.org>
1534
1535         Unreviewed, rolling out r93114.
1536         http://trac.webkit.org/changeset/93114
1537         https://bugs.webkit.org/show_bug.cgi?id=66226
1538
1539         broke the chromium mac compile
1540
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:
1552
1553 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
1554
1555         Chromium Mac: Rubber banding gutter drawing
1556         https://bugs.webkit.org/show_bug.cgi?id=66226
1557
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.
1562
1563         Reviewed by Dimitri Glazkov.
1564
1565         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
1566
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):
1580
1581 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
1582
1583         Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
1584         https://bugs.webkit.org/show_bug.cgi?id=66273
1585
1586         Reviewed by Simon Fraser.
1587
1588         No new tests - no functionality changed - refactoring only.
1589
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.
1598
1599 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
1600
1601         Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
1602         https://bugs.webkit.org/show_bug.cgi?id=66279
1603
1604         Reviewed by Simon Fraser.
1605
1606         No new tests - no functionality changed - simple refactoring only.
1607
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.
1612
1613 2011-08-16  Eric Carlson  <eric.carlson@apple.com>
1614
1615         [REGRESSION] Media controls should always be enabled when scripting is disabled
1616         https://bugs.webkit.org/show_bug.cgi?id=66303
1617
1618         Reviewed by Dimitri Glazkov.
1619
1620         Tests: media/video-controls-no-scripting-iframe.html
1621                media/video-controls-no-scripting.html
1622
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:
1632
1633 2011-08-16  Pavel Feldman  <pfeldman@google.com>
1634
1635         Web Inspector: hide non-conservative methods from the protocol documentation.
1636         https://bugs.webkit.org/show_bug.cgi?id=66301
1637
1638         Reviewed by Yury Semikhatsky.
1639
1640         * inspector/Inspector.json:
1641
1642 2011-08-16  Andras Becsi  <abecsi@webkit.org>
1643
1644         Web Inspector: nuke background events collection (dead feature)
1645         https://bugs.webkit.org/show_bug.cgi?id=66296
1646
1647         Fix the GTK build after r93095.
1648
1649         Unreviewed build fix.
1650
1651         No new tests neede.
1652
1653         * GNUmakefile.list.am: Remove nonexistent sources.
1654
1655 2011-08-16  Andras Becsi  <abecsi@webkit.org>
1656
1657         Reviewed by Csaba Osztrogonác.
1658
1659         Need AtomicStrings for the various font family names
1660         https://bugs.webkit.org/show_bug.cgi?id=28024
1661
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.
1665
1666         No new tests needed.
1667
1668         * CMakeLists.txt:
1669         * CodeGenerators.pri:
1670         * DerivedSources.make:
1671         * GNUmakefile.am:
1672         * GNUmakefile.list.am:
1673         * WebCore.gyp/WebCore.gyp:
1674         * WebCore.gyp/scripts/action_makenames.py:
1675         * WebCore.gypi:
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:
1687         * page/Frame.cpp:
1688         (WebCore::Frame::Frame):
1689         * platform/graphics/FontCache.cpp:
1690         (WebCore::FontCache::getFontData):
1691         * platform/graphics/FontDescription.h:
1692         (WebCore::FontDescription::useFixedDefaultSize):
1693
1694 2011-08-16  Pavel Feldman  <pfeldman@google.com>
1695
1696         Web Inspector: nuke background events collection (dead feature)
1697         https://bugs.webkit.org/show_bug.cgi?id=66296
1698
1699         Reviewed by Yury Semikhatsky.
1700
1701         * CMakeLists.txt:
1702         * WebCore.gypi:
1703         * WebCore.pro:
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):
1718
1719 2011-08-16  Lindsay Mathieson   <lindsay.mathieson@gmail.com>
1720
1721         [Qt] Missing spell check support
1722         https://bugs.webkit.org/show_bug.cgi?id=44114
1723
1724         Reviewed by Benjamin Poulain.
1725
1726         Add drawErrorUnderline() from Cairo to render the line for text checking on the Qt port.
1727
1728         * platform/graphics/qt/GraphicsContextQt.cpp:
1729         (WebCore::drawErrorUnderline):
1730         (WebCore::GraphicsContext::drawLineForTextChecking):
1731
1732 2011-08-15  MORITA Hajime  <morrita@google.com>
1733
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
1736
1737         Reviewed by Ryosuke Niwa.
1738
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.
1745
1746         This change removes the hasAttribute() call from
1747         spellcheckAttributeState().
1748
1749         Test: editing/input/style-change-during-input.html
1750
1751         * dom/Element.cpp:
1752         (WebCore::Element::spellcheckAttributeState):
1753
1754 2011-08-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1755
1756         [CMAKE] Wrap files of websocket and worker in each macro.
1757         https://bugs.webkit.org/show_bug.cgi?id=65012
1758
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.
1761
1762         Reviewed by Daniel Bates.
1763
1764         * CMakeLists.txt:
1765         * UseJSC.cmake:
1766         * bindings/js/JSDOMWindowCustom.cpp:
1767         * bindings/js/JSWorkerContextBase.cpp:
1768         * bindings/js/ScriptState.cpp:
1769         * bindings/js/WorkerScriptController.cpp:
1770
1771 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
1772
1773         New XML parser: add xml namespace to the default map of namespaces
1774         https://bugs.webkit.org/show_bug.cgi?id=66266
1775
1776         Reviewed by Adam Barth.
1777
1778         * xml/parser/XMLTreeBuilder.cpp:
1779         (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
1780
1781 2011-08-15  Hayato Ito  <hayato@chromium.org>
1782
1783         Fix crash when mouse moves from <summary> element to parent <details> element.
1784         https://bugs.webkit.org/show_bug.cgi?id=66210
1785
1786         Reviewed by Dimitri Glazkov.
1787
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
1793         ancestors chain.
1794
1795         Test: fast/dom/shadow/details-summary-mouseover.html
1796
1797         * dom/EventDispatcher.cpp:
1798         (WebCore::EventDispatcher::adjustToShadowBoundaries):
1799
1800 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
1801
1802         New XML parser: Use xmlnsAtom instead of redundant xmlnsPrefix
1803         https://bugs.webkit.org/show_bug.cgi?id=66264
1804
1805         Reviewed by Adam Barth.
1806
1807         * xml/parser/XMLTreeBuilder.cpp:
1808         (WebCore::XMLTreeBuilder::processNamespaces):
1809         (WebCore::XMLTreeBuilder::processAttributes):
1810
1811 2011-08-15  Emil A Eklund  <eae@chromium.org>
1812
1813         Switch Element/Node to to new layout types
1814         https://bugs.webkit.org/show_bug.cgi?id=66260
1815
1816         Reviewed by Eric Seidel.
1817
1818         Convert Element, Node, ElementRareData and ContainerNode to new layout
1819         abstraction as a part of the ongoing conversion work.
1820
1821         No new tests, no new functionality.
1822
1823         * dom/ContainerNode.cpp:
1824         (WebCore::ContainerNode::getLowerRightCorner):
1825         (WebCore::ContainerNode::getRect):
1826         * dom/ContainerNode.h:
1827         * dom/Element.cpp:
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):
1837         * dom/Element.h:
1838         * dom/ElementRareData.h:
1839         * dom/Node.cpp:
1840         (WebCore::Node::getRect):
1841         (WebCore::Node::renderRect):
1842         (WebCore::Node::hasNonEmptyBoundingBox):
1843         * dom/Node.h:
1844
1845 2011-08-15  Alexey Proskuryakov  <ap@apple.com>
1846
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
1849
1850         Reviewed by Dan Bernstein.
1851
1852         Part one: make backspace work.
1853
1854         Test: editing/deleting/regional-indicators.html
1855
1856         * rendering/RenderText.cpp:
1857         (WebCore::isRegionalIndicator):
1858         (WebCore::RenderText::previousOffsetForBackwardDeletion): Added a special case for regional
1859         indicator symbols.
1860
1861 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
1862
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
1865
1866         Reviewed by Adam Barth.
1867
1868         * xml/parser/XMLTreeBuilder.cpp:
1869         (WebCore::XMLTreeBuilder::enterText):
1870
1871 2011-08-15  Dmitry Titov  <dimich@chromium.org>
1872
1873         FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
1874         https://bugs.webkit.org/show_bug.cgi?id=66165
1875
1876         Reviewed by Darin Fisher.
1877
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.
1881
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.
1903
1904 2011-08-15  Mark Hahnenberg  <mhahnenberg@apple.com>
1905
1906         Refactor JS objects to allocate in static create methods rather than constructors
1907         https://bugs.webkit.org/show_bug.cgi?id=65347
1908
1909         Reviewed by Geoffrey Garen.
1910
1911         No new tests.
1912
1913         Removed all calls to deprecatedGetDOMObject from initialization lists as part of a 
1914         larger refactoring to get rid of all allocation during initialization.
1915
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:
1953
1954 2011-08-15  Adam Roben  <aroben@apple.com>
1955
1956         Update pages' style and content scale when the window's backing scale factor changes
1957
1958         Unfortunately, I couldn't think of a way to test this in an automated fashion.
1959
1960         Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
1961         scale factor changes
1962
1963         Reviewed by Simon Fraser.
1964
1965         * WebCore.exp.in: Export Frame::deviceOrScaleFactorChanged.
1966
1967         * page/Frame.cpp:
1968         (WebCore::Frame::deviceScaleFactorChanged):
1969         * page/Frame.h:
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.
1973
1974 2011-08-15  Cary Clark  <caryclark@google.com>
1975
1976         Revise Skia on Chrome Mac to return fallback fonts.
1977         https://bugs.webkit.org/show_bug.cgi?id=62986
1978
1979         Reviewed by Darin Fisher.
1980
1981         Since Skia on Chrome Mac uses CoreText to determine
1982         text metrics, CG font architecture is used to return
1983         fallback fonts.
1984
1985         This improves many existing layout tests, including
1986         justify-ideograph-simple and t0905-c414-flt-04-c 
1987
1988         * platform/graphics/skia/FontSkia.cpp:
1989         (WebCore::Font::canReturnFallbackFontsForComplexText):
1990
1991 2011-08-15  Aaron Boodman  <aa@chromium.org>
1992
1993         Pass additional details to client in didCreateIsolatedContext
1994         https://bugs.webkit.org/show_bug.cgi?id=66037
1995
1996         Reviewed by Darin Fisher.
1997
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:
2011
2012 2011-08-15  Chris Rogers  <crogers@google.com>
2013
2014         Add shell implementation for Web Audio API's MediaElementAudioSourceNode
2015         https://bugs.webkit.org/show_bug.cgi?id=66175
2016
2017         Reviewed by Kenneth Russell.
2018
2019         Test: webaudio/mediaelementaudiosourcenode.html
2020
2021         * DerivedSources.make:
2022         * WebCore.gypi:
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.
2038
2039 2011-08-15  Emil A Eklund  <eae@chromium.org>
2040
2041         Switch mouse events to to new layout types
2042         https://bugs.webkit.org/show_bug.cgi?id=66179
2043
2044         Reviewed by Eric Seidel.
2045
2046         Convert mouse events to new layout abstraction as a part of the ongoing
2047         conversion work.
2048
2049         No new tests, no new functionality.
2050
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):
2091
2092 2011-08-15  Ryosuke Niwa  <rniwa@webkit.org>
2093
2094         webkit-indent-blockquote is unnecessary
2095         https://bugs.webkit.org/show_bug.cgi?id=66195
2096
2097         Reviewed by Tony Chang.
2098
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.
2102
2103         * editing/ApplyBlockElementCommand.cpp:
2104         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand):
2105         (WebCore::ApplyBlockElementCommand::createBlockElement):
2106         * editing/ApplyBlockElementCommand.h:
2107         * editing/IndentOutdentCommand.cpp:
2108         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
2109
2110 2011-08-15  Levi Weintraub  <leviw@chromium.org>
2111
2112         Switch remaining SVG Rendering methods to LayoutUnits
2113         https://bugs.webkit.org/show_bug.cgi?id=66169
2114
2115         Reviewed by Eric Seidel.
2116
2117         Changing remaining integer SVG methods to use the LayoutUnits abstraction.
2118
2119         No tests as no change in functionality.
2120
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:
2167
2168 2011-08-12  Jeff Miller  <jeffm@apple.com>
2169
2170         MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
2171         https://bugs.webkit.org/show_bug.cgi?id=66171
2172         
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().
2175
2176         Reviewed by Jon Honeycutt.
2177
2178         No new tests, uses existing media tests.
2179
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.
2183
2184 2011-08-15  Adam Roben  <aroben@apple.com>
2185
2186         Rename an instance of pageScaleFactorChanged I missed in r93040
2187
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.
2190
2191         Followup to <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to
2192         the device scale factor
2193
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.
2198
2199 2011-08-15  Pavel Feldman  <pfeldman@google.com>
2200
2201         Web Inspector: [V8] crash upon stepIn while not on pause.
2202         https://bugs.webkit.org/show_bug.cgi?id=66221
2203
2204         Reviewed by Yury Semikhatsky.
2205
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):
2217
2218 2011-08-15  Vsevolod Vlasov  <vsevik@chromium.org>
2219
2220         Web Inspector: Network panel: display the current search match index in the toolbar.
2221         https://bugs.webkit.org/show_bug.cgi?id=66051
2222
2223         Reviewed by Pavel Feldman.
2224
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):
2231
2232 2011-08-10  Adam Roben  <aroben@apple.com>
2233
2234         Clear up scale factor terminology
2235
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.
2240
2241         Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
2242         device scale factor
2243
2244         Reviewed by Simon Fraser.
2245
2246         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2247         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2248         Removed an unused member. This is unrelated to this patch.
2249
2250         * css/MediaQueryEvaluator.cpp:
2251         * html/HTMLCanvasElement.cpp:
2252         * html/HTMLCanvasElement.h:
2253         * loader/EmptyClients.h:
2254         * page/Chrome.cpp:
2255         * page/Chrome.h:
2256         * page/ChromeClient.h:
2257         * page/DOMWindow.cpp:
2258         * page/Frame.cpp:
2259         * page/Frame.h:
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:
2270
2271 2011-08-15  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
2272
2273         Reviewed by Nikolas Zimmermann.
2274
2275         Speed up SVGSMILElement::findInstanceTime.
2276         https://bugs.webkit.org/show_bug.cgi?id=61025
2277
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.
2281
2282         No new tests this is only a performance tweak.
2283
2284         * svg/animation/SVGSMILElement.cpp:
2285         (WebCore::extractTimeFromVector):
2286         (WebCore::SVGSMILElement::findInstanceTime):
2287
2288 2011-08-15  Hayato Ito  <hayato@chromium.org>
2289
2290         Implement proper handling of focusin/focusout events in regard to shadow DOM boundaries.
2291         https://bugs.webkit.org/show_bug.cgi?id=64249
2292
2293         Reviewed by Dimitri Glazkov.
2294
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.
2298
2299         Test: fast/dom/shadow/shadow-boundary-events.html
2300
2301         * dom/Document.cpp:
2302         (WebCore::Document::setFocusedNode):
2303         * dom/Node.cpp:
2304         (WebCore::Node::dispatchFocusInEvent):
2305         (WebCore::Node::dispatchFocusOutEvent):
2306         (WebCore::Node::dispatchDOMActivateEvent):
2307         (WebCore::Node::defaultEventHandler):
2308         * dom/Node.h:
2309         * dom/UIEvent.cpp:
2310         (WebCore::FocusInEventDispatchMediator::create):
2311         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
2312         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2313         (WebCore::FocusOutEventDispatchMediator::create):
2314         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
2315         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2316         * dom/UIEvent.h:
2317
2318 2011-08-15  Pavel Feldman  <pfeldman@google.com>
2319
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
2323
2324         Activations, LocalStorage and some other properties potentially don't have
2325         valid property descriptors. InjectedScript should use conservative getter in order to
2326         mitigate this.
2327
2328         Reviewed by Yury Semikhatsky.
2329
2330         * inspector/InjectedScriptSource.js:
2331         * inspector/Inspector.json:
2332
2333 2011-08-15  Pavel Feldman  <pfeldman@google.com>
2334
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
2337
2338         Reviewed by Yury Semikhatsky.
2339
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):
2353
2354 2011-08-14  Pavel Feldman  <pfeldman@chromium.org>
2355
2356         Web Inspector: showContextMenu missing in Remote DevTools
2357         https://bugs.webkit.org/show_bug.cgi?id=63725
2358
2359         Reviewed by Yury Semikhatsky.
2360
2361         * WebCore.gypi:
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:
2389
2390 2011-08-13  Abhishek Arya  <inferno@chromium.org>
2391
2392         Crash in HTMLTreeBuilder::processAnyOtherEndTagForInBody
2393         https://bugs.webkit.org/show_bug.cgi?id=66187
2394
2395         Reviewed by Adam Barth.
2396
2397         RefPtr a few ContainerNodes to prevent premature deletion.
2398
2399         Test: fast/html/process-end-tag-for-inbody-crash.html
2400
2401         * html/parser/HTMLTreeBuilder.cpp:
2402         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
2403         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
2404         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2405
2406 2011-08-14  Kalev Lember  <kalevlember@gmail.com>
2407
2408         Fix GTK Windows build after r92308.
2409         https://bugs.webkit.org/show_bug.cgi?id=66140
2410
2411         Reviewed by Xan Lopez.
2412
2413         * config.h: Don't try to include WebCoreHeaderDetection.h for GTK.
2414
2415 2011-08-13  Sam Weinig  <sam@webkit.org>
2416
2417         Remove forward declaration of -[WebUndefined dealloc] to appease the bot gods.
2418
2419         * bindings/objc/WebScriptObject.mm:
2420
2421 2011-08-13  Sam Weinig  <sam@webkit.org>
2422
2423         Remove assertion from -[WebUndefined dealloc] to try to mollify the bots.
2424
2425         * bindings/objc/WebScriptObject.mm:
2426         (-[WebUndefined dealloc]):
2427
2428 2011-08-13  Sam Weinig  <sam@webkit.org>
2429
2430         Remove unused variables from WebVideoFullscreenController.h
2431         https://bugs.webkit.org/show_bug.cgi?id=66192
2432
2433         Reviewed by Dan Bernstein.
2434
2435         * platform/mac/WebVideoFullscreenController.h:
2436         Remove _isWindowLoaded, _savedUIMode and _savedUIOptions which were not used.
2437
2438 2011-08-13  Sam Weinig  <sam@webkit.org>
2439
2440         Fix incorrect objective-c initialize in WebCore
2441         https://bugs.webkit.org/show_bug.cgi?id=66191
2442
2443         Reviewed by David Kilzer.
2444
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.
2450
2451 2011-08-13  Adam Barth  <abarth@webkit.org>
2452
2453         Fix clang build.
2454
2455         * platform/chromium/PopupMenuChromium.h:
2456
2457 2011-08-13  David Kilzer  <ddkilzer@apple.com>
2458
2459         <http://webkit.org/b/66188> WebCore.xcodeproj has duplicate entries again
2460
2461         Reviewed by Dan Bernstein.
2462
2463         * WebCore.xcodeproj/project.pbxproj: Remove duplicate entries
2464         by using uniq.  Originally noticed by Xcode 4.
2465
2466 2011-08-12  Dan Bernstein  <mitz@apple.com>
2467
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
2470
2471         Reviewed by Simon Fraser.
2472
2473         * WebCore.exp.in: Export setShowsToolTipOverTruncatedText().
2474         * page/Chrome.cpp:
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.
2480         * page/Settings.h:
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.
2488
2489 2011-08-12  Stephen White  <senorblanco@chromium.org>
2490
2491         Ownership of canvas's GraphicsContext3D should be moved to PlatformContextSkia
2492         https://bugs.webkit.org/show_bug.cgi?id=66154
2493
2494         Reviewed by Kenneth Russell.
2495
2496         Covered by existing tests in fast/canvas and canvas/philip.
2497
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.
2535
2536 2011-08-12  Sam Weinig  <sam@webkit.org>
2537
2538         Use __builtin_trap() for CRASH when building with clang
2539         https://bugs.webkit.org/show_bug.cgi?id=66152
2540
2541         Reviewed by Anders Carlsson.
2542
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.
2549
2550         * bridge/IdentifierRep.h:
2551         Don't define the destructor since it is never called,
2552
2553 2011-08-12  Joseph Pecoraro  <joepeck@webkit.org>
2554
2555         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
2556         https://bugs.webkit.org/show_bug.cgi?id=66153
2557
2558         Reviewed by Dan Bernstein.
2559
2560         No new tests, this is not a functional change.
2561
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.
2568
2569 2011-08-12  Fady Samuel  <fsamuel@chromium.org>
2570
2571         Refactoring of PopupMenuChromium For Readability and Maintainability
2572         https://bugs.webkit.org/show_bug.cgi?id=66009
2573
2574         Reviewed by Darin Fisher.
2575
2576         Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp},
2577         and PopupLisBox.{h|cpp}  for readability and maintainability.
2578
2579         No new tests as there's no change in functionality.
2580
2581         * WebCore.gypi:
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:
2668
2669 2011-08-12  Mark Rowe  <mrowe@apple.com>
2670
2671         Be more forward-looking in the choice of compiler.
2672
2673         Rubber-stamped by Jon Honeycutt.
2674
2675         * Configurations/CompilerVersion.xcconfig:
2676
2677 2011-08-12  Nat Duca  <nduca@chromium.org>
2678
2679         [chromium] Fix comile warning on CCLayerTreeHost
2680
2681         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2682         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2683
2684 2011-08-12  Ryosuke Niwa  <rniwa@webkit.org>
2685
2686         Apple-style-span class seems unnecessary
2687         https://bugs.webkit.org/show_bug.cgi?id=12248
2688
2689         Reviewed by Justin Garcia.
2690
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.
2694
2695         Also renamed isSpanWithoutAttributesOrUnstyleStyleSpan to isSpanWithoutAttributesOrUnstyle*d*StyleSpan.
2696
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
2714         of isStyleSpan.
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".
2720
2721 2011-08-12  Nat Duca  <nduca@chromium.org>
2722
2723         [chromium] Fix compositor breakage due to duplicate context creation AND by context-lost
2724         https://bugs.webkit.org/show_bug.cgi?id=66168
2725
2726         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2727         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2728         (WebCore::CCLayerTreeHost::initialize):
2729
2730 2011-08-12  Levi Weintraub  <leviw@chromium.org>
2731
2732         Switch RenderMenuList, RenderListBox, and RenderFieldSet to new layout units
2733         https://bugs.webkit.org/show_bug.cgi?id=66149
2734
2735         Reviewed by Eric Seidel.
2736
2737         Changing RenderMenuList, RenderListBox, and RenderFieldSet to the LayoutUnit
2738         abstraction from ints.
2739
2740         No tests as no change in functionality.
2741
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:
2777
2778 2011-08-12  David Hyatt  <hyatt@apple.com>
2779
2780         https://bugs.webkit.org/show_bug.cgi?id=66133
2781         
2782         Make hit testing work on RenderRegions. Pass off the hit testing to the RenderFlowThread
2783         layer tree (just as we did with painting).
2784
2785         Reviewed by Sam Weinig.
2786
2787         Added hit-test-float.html to demonstrate basic hit testing of content flowed into regions.
2788
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:
2798
2799 2011-08-12  Levi Weintraub  <leviw@chromium.org>
2800
2801         Switch RenderTable* to new layout types
2802         https://bugs.webkit.org/show_bug.cgi?id=66146
2803
2804         Reviewed by Eric Seidel.
2805
2806         Converting RenderTable* classes to new LayoutUnits from ints.
2807
2808         No new tests as no new functionality.
2809
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):
2836
2837 2011-08-12  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2838
2839         Reviewed by Alexey Proskuryakov.
2840
2841         EventSource loader should not buffer data
2842         https://bugs.webkit.org/show_bug.cgi?id=61863
2843
2844         Disabled buffering in the EventSource loader.
2845
2846         Added a manual test.
2847
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):
2852
2853 2011-08-11  Pratik Solanki  <psolanki@apple.com>
2854
2855         ResourceLoader::didReceiveDataArray() does not handle m_shouldBufferData correctly
2856         https://bugs.webkit.org/show_bug.cgi?id=65926
2857
2858         Reviewed by Alexey Proskuryakov.
2859
2860         * loader/mac/ResourceLoaderMac.mm:
2861         (WebCore::ResourceLoader::didReceiveDataArray): Make sure we call the client callbacks when
2862         m_shouldBufferData is set to false.
2863
2864 2011-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2865
2866         Unreviewed, rolling out r92976.
2867         http://trac.webkit.org/changeset/92976
2868         https://bugs.webkit.org/show_bug.cgi?id=66159
2869
2870         Does not compile on chromium-win (Requested by abarth|gardener
2871         on #webkit).
2872
2873         * WebCore.gypi:
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):
2960
2961 2011-08-12  Andy Estes  <aestes@apple.com>
2962
2963         Cancel in onbeforeunload dialog sometime causes a button to stop working.
2964         https://bugs.webkit.org/show_bug.cgi?id=26211
2965
2966         Reviewed by Alexey Proskuryakov.
2967
2968         Test: fast/loader/form-submission-after-beforeunload-cancel.html
2969
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.
2976
2977         * loader/FrameLoader.cpp:
2978         (WebCore::FrameLoader::shouldClose): Set m_submittedFormURL to KURL()
2979         if shouldClose() will return false.
2980
2981 2011-08-12  David Hyatt  <hyatt@apple.com>
2982
2983         https://bugs.webkit.org/show_bug.cgi?id=66130
2984         
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
2987         offset.
2988         
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.
2992
2993         Reviewed by Anders Carlsson.
2994
2995         Existing tests have a layer tree example, and so those results are updated to show the tree now.
2996
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:
3007
3008 2011-08-12  Chris Rogers  <crogers@google.com>
3009
3010         Fix mac build when web audio is enabled
3011         https://bugs.webkit.org/show_bug.cgi?id=66150
3012
3013         Unreviewed build fix.
3014
3015         * platform/audio/mac/AudioFileReaderMac.cpp:
3016         (WebCore::AudioFileReader::createBus):
3017
3018 2011-08-12  Jeff Miller  <jeffm@apple.com>
3019
3020         Need to handle kCACFContextNeedsFlushNotification notifications that arrive after the AVFWrapper has been disposed
3021         https://bugs.webkit.org/show_bug.cgi?id=65724
3022
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).
3027
3028         Reviewed by Eric Carlson.
3029
3030         No new tests, uses existing media tests.
3031
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().
3054
3055 2011-08-12  Fady Samuel  <fsamuel@chromium.org>
3056
3057         Refactoring of PopupMenuChromium
3058         https://bugs.webkit.org/show_bug.cgi?id=66009
3059
3060         Reviewed by Darin Fisher.
3061
3062         Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp}, and PopupLisBox.{h|cpp}
3063         for readability and maintainability.
3064
3065         No new tests as no functionality has changed.
3066
3067         * WebCore.gypi:
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:
3154
3155 2011-08-12  Sam Weinig  <sam@webkit.org>
3156
3157         Move compiler specific macros to their own header
3158         https://bugs.webkit.org/show_bug.cgi?id=66119
3159
3160         Reviewed by Anders Carlsson.
3161
3162         * ForwardingHeaders/wtf/Compiler.h: Added.
3163
3164 2011-08-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
3165
3166         [Qt][REGRESSION] composited content doesn't render since r92651
3167         https://bugs.webkit.org/show_bug.cgi?id=66108
3168
3169         Reviewed by Benjamin Poulain.
3170
3171         Changed the signature for GraphicsLayerTextureMapper::syncCompositingState to match
3172         the new signature in GraphicsLayer.h.
3173
3174         No new tests. This is a regression that's covered by existing pixel tests.
3175
3176         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3177         (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
3178         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3179
3180 2011-08-12  Alexandru Chiculita  <achicu@adobe.com>
3181
3182         Original patch by Mihnea Ovidenie <mihnea@adobe.com>.
3183         Also contains some improvements done by Dave Hyatt <hyatt@apple.com>.
3184
3185         [CSSRegions]RenderFlowThread should display its content using RenderRegion
3186         https://bugs.webkit.org/show_bug.cgi?id=65627
3187
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.
3190
3191         Reviewed by David Hyatt.
3192
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
3201
3202         * dom/Node.cpp:
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:
3232
3233 2011-08-12  Abhishek Arya  <inferno@chromium.org>
3234
3235         Crash in WebCore::editingIgnoresContent
3236         https://bugs.webkit.org/show_bug.cgi?id=66125
3237
3238         Reviewed by Ryosuke Niwa.
3239
3240         RefPtr a few nodes in case they get blown away in
3241         dispatchEvent calls.
3242
3243         Test: editing/selection/select-start-remove-root-crash.html
3244
3245         * editing/FrameSelection.cpp:
3246         (WebCore::FrameSelection::selectAll):
3247         * editing/ReplaceSelectionCommand.cpp:
3248         (WebCore::ReplacementFragment::ReplacementFragment):
3249
3250 2011-08-11  Pavel Podivilov  <podivilov@chromium.org>
3251
3252         Web Inspector: properly update console message count in source frames and resources panel.
3253         https://bugs.webkit.org/show_bug.cgi?id=57009
3254
3255         Reviewed by Yury Semikhatsky.
3256
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):
3263
3264 2011-08-12  Pavel Feldman  <pfeldman@google.com>
3265
3266         Not reviewed: follow up to inspector test breakage.
3267
3268         * inspector/front-end/ScriptsPanel.js:
3269         (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
3270
3271 2011-08-12  Yury Semikhatsky  <yurys@chromium.org>
3272
3273         Web Inspector: expand exception properties when wrapping it as object.
3274         https://bugs.webkit.org/show_bug.cgi?id=66035
3275
3276         Use toString() value as a description for value thrown during eval.
3277
3278         Reviewed by Pavel Feldman.
3279
3280         * inspector/InjectedScriptSource.js:
3281         (.):
3282
3283 2011-08-12  Pavel Feldman  <pfeldman@google.com>
3284
3285         Web Inspector: make folders optional in the Scripts' panel file selector.
3286         https://bugs.webkit.org/show_bug.cgi?id=66100
3287
3288         Reviewed by Yury Semikhatsky.
3289
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):
3302
3303 2011-08-12  Pavel Podivilov  <podivilov@chromium.org>
3304
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
3307
3308         Reviewed by Pavel Feldman.
3309
3310         * inspector/front-end/ConsoleView.js:
3311         (WebInspector.ConsoleMessage.prototype._formatMessage):
3312
3313 2011-08-12  Pavel Feldman  <pfeldman@google.com>
3314
3315         Web Inspector: console loses focus upon reloading the page from the inspector.
3316         https://bugs.webkit.org/show_bug.cgi?id=66068
3317
3318         Reviewed by Yury Semikhatsky.
3319
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:
3384         (body):
3385         * inspector/front-end/treeoutline.js:
3386         (TreeOutline.prototype.revealAndSelect):
3387         (TreeElement.prototype.selectOnMouseDown):
3388         (TreeElement.prototype.revealAndSelect):
3389         (TreeElement.prototype.select):
3390
3391 2011-08-12  Yury Semikhatsky  <yurys@chromium.org>
3392
3393         Unreviewed. Inspector clean-up: remove unused method declaration from InspectorAgent.h
3394
3395         * inspector/InspectorAgent.h:
3396
3397 2011-08-12  Vsevolod Vlasov  <vsevik@chromium.org>
3398
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
3401
3402         Reviewed by Pavel Feldman.
3403
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):
3498
3499 2011-08-11  Hans Wennborg  <hans@chromium.org>
3500
3501         IndexedDB: Object store records don't need to have keys in all indexes
3502         https://bugs.webkit.org/show_bug.cgi?id=66049
3503
3504         Reviewed by Tony Chang.
3505
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.
3508
3509         * storage/IDBObjectStoreBackendImpl.cpp:
3510         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3511
3512 2011-08-10  Hans Wennborg  <hans@chromium.org>
3513
3514         IndexedDB: Overwriting key in unique index should be possible
3515         https://bugs.webkit.org/show_bug.cgi?id=65993
3516
3517         Reviewed by Tony Chang.
3518
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.
3521
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:
3534
3535 2011-08-11  Yuta Kitamura  <yutak@chromium.org>
3536
3537         WebSocket: Implement "protocol" attribute
3538         https://bugs.webkit.org/show_bug.cgi?id=65248
3539
3540         Reviewed by Kent Tamura.
3541
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)
3548
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
3577         established.
3578         (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
3579         * websockets/WorkerThreadableWebSocketChannel.h:
3580
3581 2011-08-11  Hayato Ito  <hayato@chromium.org>
3582
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
3585
3586         Reviewed by Dimitri Glazkov.
3587
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
3593         dispatched.
3594
3595         Test: fast/dom/shadow/shadow-boundary-events.html
3596
3597         * dom/EventDispatcher.cpp:
3598         (WebCore::EventDispatcher::adjustToShadowBoundaries):
3599
3600 2011-08-11  John Bauman  <jbauman@chromium.org>
3601
3602         Readback composited webgl results for printing
3603         https://bugs.webkit.org/show_bug.cgi?id=65658
3604
3605         Reviewed by James Robinson.
3606
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
3610         version to draw.
3611
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):
3621
3622 2011-08-11  Andrew Wason  <rectalogic@rectalogic.com>
3623
3624         REGRESSION: Qt JavaScript bridge signal connection fails
3625         https://bugs.webkit.org/show_bug.cgi?id=66097
3626
3627         Reviewed by Gavin Barraclough.
3628
3629         Tests in WebKit/qt/tests/qwebframe
3630
3631         Call toThisObject() on exec->lexicalGlobalObject() so the correct
3632         object is passed to the JS signal handler.
3633
3634         * bridge/qt/qt_runtime.cpp:
3635         (JSC::Bindings::QtRuntimeConnectionMethod::call):
3636
3637 2011-08-11  Nico Weber  <thakis@chromium.org>
3638
3639         Remove incorrect comment about m_wheelEventHandlerCount
3640         https://bugs.webkit.org/show_bug.cgi?id=66117
3641
3642         Reviewed by Simon Fraser.
3643
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.
3650
3651         * dom/Document.h:
3652
3653 2011-08-11  James Robinson  <jamesr@chromium.org>
3654
3655         [chromium] Defer managed texture creation and destruction until updateCompositorResources
3656         https://bugs.webkit.org/show_bug.cgi?id=64772
3657
3658         Reviewed by Kenneth Russell.
3659
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.
3666
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.
3669
3670         Covered by compositing/ layout tests.
3671
3672         * WebCore.gypi:
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):
3731
3732 2011-08-11  David Kilzer  <ddkilzer@apple.com>
3733
3734         <http://webkit.org/b/66113> [CFNetwork] willCacheResponse() leaks CFCachedURLResponseRef if delegate changes CacheStoragePolicy
3735
3736         Reviewed by Joseph Pecoraro.
3737
3738         This first appeared in ToT WebKit r23462 (Windows merge).
3739
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.
3744
3745 2011-08-05  Nat Duca  <nduca@chromium.org>
3746
3747         [chromium] Make WebViewImpl point at CCLayerTreeHost and related separation
3748         https://bugs.webkit.org/show_bug.cgi?id=65791
3749
3750         With this patch, LayerRendererChromium becomes increasingly responsible
3751         for rendering, while render scheduling and tree hosting moves into the
3752         CCLayerTreeHost.
3753
3754         Reviewed by James Robinson.
3755
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):
3826
3827 2011-08-11  Jeff Miller  <jeffm@apple.com>
3828
3829         WebCore::AVFWrapper fails to remove observer for kCACFContextNeedsFlushNotification
3830         https://bugs.webkit.org/show_bug.cgi?id=66116
3831
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().
3835
3836         Reviewed by John Sullivan.
3837
3838         No new tests, uses existing media tests.
3839
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.
3843
3844 2011-08-11  Ryosuke Niwa  <rniwa@webkit.org>
3845
3846         Share code between isStyleSpanOrSpanWithOnlyStyleAttribute, isUnstyledStyleSpan,
3847         isSpanWithoutAttributesOrUnstyleStyleSpan and replaceWithSpanOrRemoveIfWithoutAttributes
3848         https://bugs.webkit.org/show_bug.cgi?id=66091
3849
3850         Reviewed by Tony Chang.
3851
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.
3855
3856         Test: editing/style/remove-styled-element-with-style-span.html
3857
3858         * editing/ApplyStyleCommand.cpp:
3859         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
3860         (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
3861         (WebCore::isUnstyledStyleSpan):
3862         (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
3863         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
3864
3865 2011-08-11  Tom Zakrajsek  <tomz@codeaurora.org>
3866
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
3870
3871         Reviewed by Adam Barth.
3872
3873         Test: fast/html/unknown-tag.html
3874
3875         * CMakeLists.txt:
3876         * CodeGenerators.pri:
3877         * DerivedSources.cpp:
3878         * DerivedSources.make:
3879         * GNUmakefile.list.am:
3880         * WebCore.gypi:
3881         * WebCore.vcproj/WebCore.vcproj:
3882         * WebCore.xcodeproj/project.pbxproj:
3883         * bindings/scripts/CodeGeneratorV8.pm:
3884         (IsDOMNodeType):
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:
3899         * svg/svgtags.in:
3900
3901 2011-08-11  Levi Weintraub  <leviw@chromium.org>
3902
3903         Remove dead code: borderInnerRect
3904         https://bugs.webkit.org/show_bug.cgi?id=66087
3905
3906         Reviewed by Adam Barth.
3907
3908         Removing an old and currently unused function: RenderObject::borderInnerRect.
3909
3910         No new tests since I'm just pruning dead code.
3911
3912         * rendering/RenderObject.cpp:
3913         * rendering/RenderObject.h:
3914
3915 2011-08-11  Simon Fraser  <simon.fraser@apple.com>
3916
3917         Avoid adding the visible wash layer twice
3918         https://bugs.webkit.org/show_bug.cgi?id=66098
3919
3920         Reviewed by Chris Marrin.
3921
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.
3925
3926         * platform/graphics/ca/GraphicsLayerCA.cpp:
3927         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3928
3929 2011-08-11  Benjamin Poulain  <benjamin@webkit.org>
3930
3931         The PageSerializer should always use absolute URL
3932         https://bugs.webkit.org/show_bug.cgi?id=66006
3933
3934         Reviewed by Adam Barth.
3935
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.
3939
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.
3943
3944         * page/PageSerializer.cpp:
3945         (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
3946
3947 2011-08-01  Adrienne Walker  <enne@google.com>
3948
3949         Enable fast path scrolling for composited iframes
3950         https://bugs.webkit.org/show_bug.cgi?id=65056
3951
3952         Reviewed by James Robinson.
3953
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
3959         the window.
3960
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
3963         scrolling.
3964
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):
3973         * page/FrameView.h:
3974         * rendering/RenderLayer.cpp:
3975         (WebCore::RenderLayer::cannotBlitToWindow):
3976         * rendering/RenderLayer.h:
3977         * rendering/RenderView.cpp:
3978         (WebCore::RenderView::paintBoxDecorations):
3979
3980 2011-08-10  Adrienne Walker  <enne@google.com>
3981
3982         Support creating compositing layers for scrollable frames and iframes
3983         https://bugs.webkit.org/show_bug.cgi?id=55257
3984
3985         Reviewed by James Robinson.
3986
3987         When force compositing mode is turned on, iframes with overflow will
3988         become composited (in order to enable faster scrolling).
3989
3990         This patch was originally by Daniel Sievers <sievers@chromium.org>.
3991
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
3997
3998         * rendering/RenderLayerCompositor.cpp:
3999         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
4000         (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
4001         * rendering/RenderLayerCompositor.h:
4002
4003 2011-08-11  Yong Li  <yoli@rim.com>
4004
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.
4009
4010         Reviewed by Alexey Proskuryakov.
4011
4012         No new tests because some existing test cases can show the issue,
4013         for example, fast/css/content/content-quotes-01.html.
4014
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==):
4024
4025 2011-08-11  David Hyatt  <hyatt@apple.com>
4026
4027         https://bugs.webkit.org/show_bug.cgi?id=66075
4028
4029         Turn on regions and exclusions by default. Fix one stray ifdef that I missed.
4030
4031         Reviewed by James Robinson.
4032
4033         * css/CSSComputedStyleDeclaration.cpp:
4034         (WebCore::contentToCSSValue):
4035
4036 2011-08-11  David Reveman  <reveman@chromium.org>
4037
4038         [Chromium] Temporarily disable layer anti-aliasing on ChromeOS.
4039         https://bugs.webkit.org/show_bug.cgi?id=65922
4040
4041         Reviewed by James Robinson.
4042
4043         No new tests.
4044
4045         * platform/graphics/chromium/LayerTilerChromium.cpp:
4046         (WebCore::LayerTilerChromium::draw):
4047
4048 2011-08-11  Benjamin Poulain  <benjamin@webkit.org>
4049
4050         [Qt] PageSerializer is specific to MHTML, we should not compile it
4051         https://bugs.webkit.org/show_bug.cgi?id=66054
4052
4053         Reviewed by Noam Rosenthal.
4054
4055         PageSerializer is specific to MHTML. Do not build PageSerializer unless MHTML is enabled.
4056
4057         * WebCore.pro:
4058
4059 2011-08-11  Andrey Kosyakov  <caseq@chromium.org>
4060
4061         Web Inspector: [refactoring] make tabbed pane a view
4062         https://bugs.webkit.org/show_bug.cgi?id=66060
4063
4064         Reviewed by Pavel Feldman.
4065
4066         * inspector/front-end/NetworkItemVi