new-run-webkit-tests hung while acquiring http lock on snow leopard bots
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-18  Kent Tamura  <tkent@chromium.org>
2
3         REGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar-corner
4         https://bugs.webkit.org/show_bug.cgi?id=66453
5
6         Reviewed by Simon Fraser.
7
8         Test: fast/forms/placeholder-crash-with-scrollbar-corner.html
9
10         * rendering/RenderObjectChildList.cpp:
11         (WebCore::RenderObjectChildList::removeChildNode): Add a NULL check for owner's layer.
12
13 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
14
15         New XML parser: scripting support
16         https://bugs.webkit.org/show_bug.cgi?id=66406
17
18         Reviewed by Adam Barth.
19
20         * xml/parser/NewXMLDocumentParser.cpp:
21         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
22         (WebCore::NewXMLDocumentParser::resumeParsing):
23         (WebCore::NewXMLDocumentParser::processScript):
24         (WebCore::NewXMLDocumentParser::append): Add support for pausing the parsing
25         (WebCore::NewXMLDocumentParser::finish): Add support for pausing the parsing
26         (WebCore::NewXMLDocumentParser::notifyFinished):
27         * xml/parser/NewXMLDocumentParser.h:
28         (WebCore::NewXMLDocumentParser::pauseParsing):
29         * xml/parser/XMLTreeBuilder.cpp: Add a shared function between self-closing and end tags
30         (WebCore::XMLTreeBuilder::closeElement): Registers scripts and pops the stack
31         (WebCore::XMLTreeBuilder::processStartTag):
32         (WebCore::XMLTreeBuilder::processEndTag):
33         * xml/parser/XMLTreeBuilder.h:
34
35 2011-08-18  Mark Hahnenberg  <mhahnenberg@apple.com>
36
37         Move allocation in constructors into separate constructorBody() methods
38         https://bugs.webkit.org/show_bug.cgi?id=66265
39
40         Reviewed by Oliver Hunt.
41
42         No new tests.
43
44         Refactoring to put all allocations that need to be done after the object's 
45         initialization list has executed but before the object is ready for use 
46         into a separate constructorBody() method.  This method is still called by the constructor, 
47         so the patch doesn't resolve any potential issues, it's just to set up the code for further refactoring.
48
49         * bridge/objc/ObjCRuntimeObject.h:
50         (JSC::Bindings::ObjCRuntimeObject::create):
51         * bridge/objc/ObjCRuntimeObject.mm:
52         * bridge/objc/objc_instance.mm:
53         (ObjCRuntimeMethod::create):
54         (ObjCRuntimeMethod::ObjCRuntimeMethod):
55         * bridge/runtime_array.cpp:
56         * bridge/runtime_array.h:
57         (JSC::RuntimeArray::create):
58
59 2011-08-18  Beth Dakin  <bdakin@apple.com>
60
61         https://bugs.webkit.org/show_bug.cgi?id=66495
62         Lion-specific scroller SPIs can use forward declaration instead of 
63         WebKitSystemInterface
64
65         Reviewed by Sam Weinig.
66
67         * WebCore.exp.in:
68         * WebCore.xcodeproj/project.pbxproj:
69         * platform/mac/NSScrollerImpDetails.h: Added.
70         * platform/mac/ScrollAnimatorMac.h:
71         * platform/mac/ScrollAnimatorMac.mm:
72         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
73         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
74         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
75         (-[ScrollbarPartAnimation setCurrentProgress:]):
76         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
77         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
78         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
79         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
80         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
81         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
82         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
83         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
84         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
85         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
86         (WebCore::ScrollAnimatorMac::willStartLiveResize):
87         (WebCore::ScrollAnimatorMac::contentsResized):
88         (WebCore::ScrollAnimatorMac::willEndLiveResize):
89         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
90         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
91         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
92         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
93         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
94         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
95         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
96         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
97         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
98         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
99         * platform/mac/ScrollbarThemeMac.h:
100         * platform/mac/ScrollbarThemeMac.mm:
101         (WebCore::ScrollbarThemeMac::registerScrollbar):
102         (WebCore::ScrollbarThemeMac::scrollbarThickness):
103         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
104         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
105         (WebCore::ScrollbarThemeMac::hasThumb):
106         (WebCore::ScrollbarThemeMac::minimumThumbLength):
107         (WebCore::ScrollbarThemeMac::updateEnabledState):
108         (WebCore::scrollbarPainterPaint):
109         (WebCore::ScrollbarThemeMac::paint):
110         * platform/mac/WebCoreSystemInterface.h:
111         * platform/mac/WebCoreSystemInterface.mm:
112
113 2011-08-18  Dan Bernstein  <mitz@apple.com>
114
115         <rdar://problem/9973194> Fonts that specify a positive descender value are treated as having descenders ending above the baseline
116         https://bugs.webkit.org/show_bug.cgi?id=66515
117
118         Reviewed by Darin Adler.
119
120         No test because none of the system fonts and test fonts have an incorrectly-specified descender value.
121
122         * platform/graphics/mac/SimpleFontDataMac.mm:
123         (WebCore::SimpleFontData::platformInit): If the font specifies a positive descender, assume that it meant
124         the same amount, but negative. This is consistent with what Core Text does.
125
126 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
127
128         positionForPoint returns wrong VisiblePosition at bidi boundaries
129         https://bugs.webkit.org/show_bug.cgi?id=65356
130
131         Reviewed by David Hyatt.
132
133         The bug was caused by RenderText::positionForPoint's assuming that the position will always reside
134         inside the inline box that contains the point, which is not true at the boundaries of bidi-runs.
135
136         For example, in aDC12BAb where AB12CD is a RTL text, the offset on the right of A is 7 even though
137         the inline box for "BA" only contains offsets 1, 2, and 3. We must traverse the bidi-run "DC12BA"
138         until the end to obtain the offset 7 from the inline box for "DC".
139
140         Fixed the bug by introducing createVisiblePositionAfterAdjustingOffsetForBiDi which traverses runs
141         on the left or the right of the position to compute the appropriate offset following the NSTextView convention.
142
143         This patch also fixes a regression from r74971 that caret is placed incorrectly between inline boxes of
144         LTR or RTL text in a RTL or LTR block respectively.
145
146         Test: editing/selection/caret-at-bidi-boundary.html
147
148         * rendering/InlineTextBox.cpp:
149         (WebCore::InlineTextBox::offsetForPosition):
150         * rendering/RenderText.cpp:
151         (WebCore::lineDirectionPointFitsInBox): Takes ShouldAffinityBeDownstream instead of EAfinity.
152         (WebCore::createVisiblePositionForBox):
153         (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
154         (WebCore::RenderText::positionForPoint):
155
156 2011-08-18  Xiaomei Ji  <xji@chromium.org>
157
158         --webkit-visual-word renaming right/leftWordPositionAcrossBoundary
159         https://bugs.webkit.org/show_bug.cgi?id=66436
160
161         Reviewed by Ryosuke Niwa.
162
163         Rename them to right/leftWordPositionIgnoringEditingBoundary.
164
165         * editing/visible_units.cpp:
166         (WebCore::leftWordPositionIgnoringEditingBoundary):
167         (WebCore::rightWordPositionIgnoringEditingBoundary):
168         (WebCore::leftWordPosition):
169         (WebCore::rightWordPosition):
170
171 2011-08-18  Jeff Miller  <jeffm@apple.com>
172
173         Soft link against AVFoundationCF and CoreMedia
174         https://bugs.webkit.org/show_bug.cgi?id=65725
175         
176         Add new macros to SoftLinking.h to support soft-linking to functions and variables decorated with __declspec(dllimport),
177         and use them to soft-link to AVFoundationCF and CoreMedia. I verified that the WebProcess doesn't load these DLLs
178         until a media element is used.
179
180         Reviewed by Eric Carlson.
181
182         No new tests as no change in functionality.
183
184         * WebCore.vcproj/WebCore.vcproj: Added AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
185         * WebCore.vcproj/WebCoreMediaQT.vsprops: Removed DelayLoadDLLs linker option which is no longer needed.
186         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added.
187         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Added.
188         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Stop linking against AVFoundationCF.lib and CoreMedia.lib and include AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
189         * platform/win/SoftLinking.h: Added SOFT_LINK_DLL_IMPORT() and SOFT_LINK_VARIABLE_DLL_IMPORT() macros.
190
191 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
192
193         Chromium Mac: Show scrollbar when doing search
194         https://bugs.webkit.org/show_bug.cgi?id=66209
195
196         Reviewed by James Robinson.
197
198         Updated the Lion scrollbar drawing code to force the scrollbar to be visible when we have tickmarks for search results.
199
200         No tests because there are no Mac 10.7 chromium bots yet.
201
202         * platform/chromium/ScrollbarThemeChromiumMac.h:
203         * platform/chromium/ScrollbarThemeChromiumMac.mm:
204         (WebCore::ScrollbarThemeChromiumMac::paint):
205         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
206
207 2011-08-18  James Robinson  <jamesr@chromium.org>
208
209         [chromium] Draw the root/"non-composited content" in compositor side
210         https://bugs.webkit.org/show_bug.cgi?id=58834
211
212         Reviewed by Kenneth Russell.
213
214         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
215         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
216         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
217         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
218             draw-time transform.
219         *) The root layer masks the alpha channel and disable blending when drawing because of concerns about subpixel
220             AA trashing the alpha channel.  The root layer is always opaque so this is fine.
221         *) The root layer does not have border texels and does have subpixel AA for text.
222
223         Covered by compositing/
224
225         * WebCore.gypi:
226         * platform/graphics/chromium/ContentLayerChromium.cpp:
227         (WebCore::ContentLayerChromium::paintContentsIfDirty):
228         * platform/graphics/chromium/ImageLayerChromium.cpp:
229         (WebCore::ImageLayerChromium::paintContentsIfDirty):
230         * platform/graphics/chromium/LayerChromium.cpp:
231         (WebCore::LayerChromium::pushPropertiesTo):
232         * platform/graphics/chromium/LayerChromium.h:
233         (WebCore::LayerChromium::scrollPosition):
234         (WebCore::LayerChromium::setScrollPosition):
235         * platform/graphics/chromium/LayerRendererChromium.cpp:
236         (WebCore::LayerRendererChromium::initialize):
237         (WebCore::LayerRendererChromium::releaseTextures):
238         (WebCore::LayerRendererChromium::viewportChanged):
239         (WebCore::LayerRendererChromium::updateLayers):
240         (WebCore::LayerRendererChromium::drawLayers):
241         (WebCore::LayerRendererChromium::drawLayersInternal):
242         (WebCore::LayerRendererChromium::getFramebufferPixels):
243         (WebCore::LayerRendererChromium::cleanupSharedObjects):
244         (WebCore::LayerRendererChromium::layerTreeAsText):
245         * platform/graphics/chromium/LayerRendererChromium.h:
246         (WebCore::LayerRendererChromium::rootLayer):
247         (WebCore::LayerRendererChromium::viewportSize):
248         (WebCore::LayerRendererChromium::viewportWidth):
249         (WebCore::LayerRendererChromium::viewportHeight):
250         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
251         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
252         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
253         (WebCore::NonCompositedContentHost::invalidateRect):
254         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
255         (WebCore::NonCompositedContentHost::setScrollPosition):
256         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
257         (WebCore::NonCompositedContentHost::notifySyncRequired):
258         (WebCore::NonCompositedContentHost::paintContents):
259         (WebCore::NonCompositedContentHost::showDebugBorders):
260         (WebCore::NonCompositedContentHost::showRepaintCounter):
261         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
262         (WebCore::NonCompositedContentHost::create):
263         (WebCore::NonCompositedContentHost::graphicsLayer):
264         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
265         (WebCore::CCHeadsUpDisplay::draw):
266         * platform/graphics/chromium/cc/CCLayerImpl.h:
267         (WebCore::CCLayerImpl::scrollPosition):
268         (WebCore::CCLayerImpl::setScrollPosition):
269         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
270         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
271         (WebCore::CCLayerTreeHost::initialize):
272         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
273         (WebCore::CCLayerTreeHost::setRootLayer):
274         (WebCore::CCLayerTreeHost::setViewport):
275         (WebCore::CCLayerTreeHost::reallocateRenderer):
276         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
277         (WebCore::CCLayerTreeHost::rootLayer):
278         (WebCore::CCLayerTreeHost::viewportSize):
279
280 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
281
282         Unreviewed, rolling out r93354.
283         http://trac.webkit.org/changeset/93354
284         https://bugs.webkit.org/show_bug.cgi?id=66503
285
286         "consensus was not reached" (Requested by senorblanco on
287         #webkit).
288
289         * html/canvas/CanvasRenderingContext2D.cpp:
290         (WebCore::CanvasRenderingContext2D::drawImage):
291         * platform/graphics/cg/GraphicsContextCG.cpp:
292         (WebCore::GraphicsContext::drawNativeImage):
293
294 2011-08-18  Sadrul Habib Chowdhury  <sadrul@chromium.org>
295
296         GestureRecognizer: Update how gesture-scroll works.
297
298         Instead of just sending a series of 'GestureUpdate' events, send a
299         single 'GestureBegin' event, followed by a series of 'GestureUpdate' events,
300         and end with a 'GestureEnd' event.
301         https://bugs.webkit.org/show_bug.cgi?id=66267
302
303         Reviewed by Adam Barth.
304
305         * page/EventHandler.cpp:
306         (WebCore::EventHandler::handleGestureEvent):
307         * platform/chromium/GestureRecognizerChromium.cpp:
308         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
309         (WebCore::InnerGestureRecognizer::appendScrollGestureBegin):
310         (WebCore::InnerGestureRecognizer::appendScrollGestureEnd):
311         (WebCore::InnerGestureRecognizer::appendScrollGestureUpdate):
312         (WebCore::scrollEnd):
313         (WebCore::isClickOrScroll):
314         (WebCore::inScroll):
315         * platform/chromium/GestureRecognizerChromium.h:
316         (WebCore::InnerGestureRecognizer::firstTouchPosition):
317
318 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
319
320         Chromium: Update forked ScrollbarThemeChromiumMac.mm
321         https://bugs.webkit.org/show_bug.cgi?id=65555
322
323         Reviewed by James Robinson.
324
325         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
326
327         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
328         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
329         (wkScrollbarPainterSetEnabled):
330         * platform/chromium/ScrollbarThemeChromiumMac.h:
331         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
332         * platform/chromium/ScrollbarThemeChromiumMac.mm:
333         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
334         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
335         (WebCore::toScrollbarPainterKnobStyle):
336         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
337         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
338         (WebCore::ScrollbarThemeChromiumMac::paint):
339
340 2011-08-18  Justin Novosad  <junov@chromium.org>
341
342         Unwarranted DOM Exception when when canvas2D drawImage is called with src
343         rect out of bounds
344         https://bugs.webkit.org/show_bug.cgi?id=65709
345
346         Reviewed by Stephen White.
347
348         Test: fast/canvas/drawImage-clipped-source.html
349
350         * html/canvas/CanvasRenderingContext2D.cpp:
351         (WebCore::CanvasRenderingContext2D::drawImage):
352         Removed the unnecessary dom exceptions for out of bounds source rectangles
353         The overloads that receive video and image elements as source images
354         now use the normalized versions of the source rectangle, which
355         GraphicsContext (and its various platform flavors) can handle correctly.
356         The normalized rectangle is the equivalent rectangle with width and height
357         greater than 0.  The canvas version of this method, which had better layout 
358         test coverage, was already correctly using the normalized rectangle. The
359         newly added layout test verifies correct behavior with negative
360         source rectangle dimensions.
361         * platform/graphics/cg/GraphicsContextCG.cpp:
362         (WebCore::GraphicsContext::drawNativeImage):
363         Fixed algorithm that adjusts the destination rectangle to match the clipping
364         applied to the source rect. The case of scaled filtered images with source
365         rectangles that overlap the edge of the image was not being handled
366         correctly. This use case was previously unsupported and used to trigger
367         a DOM exception.
368
369 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
370
371         Unreviewed, rolling out r93329.
372         http://trac.webkit.org/changeset/93329
373         https://bugs.webkit.org/show_bug.cgi?id=66497
374
375         Turned text on chromium win blue (Requested by jamesr_ on
376         #webkit).
377
378         * WebCore.gypi:
379         * platform/graphics/chromium/ContentLayerChromium.cpp:
380         * platform/graphics/chromium/ContentLayerChromium.h:
381         * platform/graphics/chromium/ImageLayerChromium.cpp:
382         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
383         * platform/graphics/chromium/LayerChromium.cpp:
384         (WebCore::LayerChromium::LayerChromium):
385         (WebCore::LayerChromium::pushPropertiesTo):
386         (WebCore::LayerChromium::dumpLayerProperties):
387         * platform/graphics/chromium/LayerChromium.h:
388         * platform/graphics/chromium/LayerRendererChromium.cpp:
389         (WebCore::LayerRendererChromium::initialize):
390         (WebCore::LayerRendererChromium::releaseTextures):
391         (WebCore::LayerRendererChromium::updateRootLayerContents):
392         (WebCore::LayerRendererChromium::drawRootLayer):
393         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
394         (WebCore::LayerRendererChromium::rootLayerChanged):
395         (WebCore::LayerRendererChromium::viewportChanged):
396         (WebCore::LayerRendererChromium::updateLayers):
397         (WebCore::LayerRendererChromium::drawLayers):
398         (WebCore::LayerRendererChromium::paintLayerContents):
399         (WebCore::LayerRendererChromium::drawLayersInternal):
400         (WebCore::LayerRendererChromium::getFramebufferPixels):
401         (WebCore::LayerRendererChromium::cleanupSharedObjects):
402         (WebCore::LayerRendererChromium::layerTreeAsText):
403         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
404         * platform/graphics/chromium/LayerRendererChromium.h:
405         (WebCore::LayerRendererChromium::rootLayer):
406         * platform/graphics/chromium/NonCompositedContentHost.cpp: Removed.
407         * platform/graphics/chromium/NonCompositedContentHost.h: Removed.
408         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
409         (WebCore::RenderSurfaceChromium::dumpSurface):
410         * platform/graphics/chromium/TiledLayerChromium.cpp:
411         (WebCore::TiledLayerChromium::createTilerIfNeeded):
412         (WebCore::TiledLayerChromium::tilingTransform):
413         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
414         (WebCore::CCHeadsUpDisplay::draw):
415         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
416         (WebCore::CCLayerImpl::CCLayerImpl):
417         * platform/graphics/chromium/cc/CCLayerImpl.h:
418         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
419         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
420         (WebCore::CCLayerTreeHost::initialize):
421         (WebCore::CCLayerTreeHost::createRootLayerPainter):
422         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
423         (WebCore::CCLayerTreeHost::setRootLayer):
424         (WebCore::CCLayerTreeHost::setViewport):
425         (WebCore::CCLayerTreeHost::reallocateRenderer):
426         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
427         (WebCore::CCLayerTreeHost::rootLayer):
428         (WebCore::CCLayerTreeHost::viewportContentRect):
429         (WebCore::CCLayerTreeHost::viewportScrollPosition):
430         (WebCore::CCLayerTreeHost::viewportVisibleRect):
431         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
432         (WebCore::CCTiledLayerImpl::draw):
433
434 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
435
436         SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
437         https://bugs.webkit.org/show_bug.cgi?id=66086
438
439         Reviewed by Darin Adler.
440
441         The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
442         Fixing the bug by detecting RenderTextFragment in handleTextNode.
443
444         Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
445         the next call to handleTextNode needs to process the first-letter part of the text fragment.
446
447         Test: editing/text-iterator/backward-textiterator-first-letter-crash.html
448
449         * editing/TextIterator.cpp:
450         (WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
451         (WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
452         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
453         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
454         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
455         * editing/TextIterator.h:
456
457 2011-08-18  Iain Merrick  <husky@google.com>
458
459         [chromium] Assert that main thread and compositor thread are used safely
460         https://bugs.webkit.org/show_bug.cgi?id=66145
461
462         CCLayerTreeHostImplProxy now has public static methods isMainThread()
463         and isImplThread(), and we ASSERT these in various places. If threaded
464         compositing is disabled, we fake isImplThread() by setting a flag for
465         the duration of compositing, so the assert is still valid.
466
467         Reviewed by James Robinson.
468
469         Covered by existing tests.
470
471         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
472         (WebCore::CCCanvasLayerImpl::draw):
473         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
474         (WebCore::CCLayerTreeHost::doComposite):
475         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
476         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
477         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
478         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
479         (WebCore::CCLayerTreeHostImplProxy::isImplThread):
480         (WebCore::CCLayerTreeHostImplProxy::setImplThread):
481         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
482         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
483         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
484         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
485         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
486         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
487         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h:
488         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
489         (WebCore::CCPluginLayerImpl::draw):
490         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
491         (WebCore::CCTiledLayerImpl::draw):
492         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
493         (WebCore::CCVideoLayerImpl::draw):
494
495 2011-08-18  Alexey Proskuryakov  <ap@apple.com>
496
497         Regional indicator symbols that are combined should behave as a single character when editing
498         https://bugs.webkit.org/show_bug.cgi?id=65395
499
500         Reviewed by Dan Bernstein.
501
502         Part two: make cursor movement iterator work. This fixes the problem for strings that don't
503         contain more than two flags in a row, as fixing it completely doesn't seem possible with ICU.
504
505         Test: editing/selection/regional-indicators.html
506
507         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added custom
508         rules for regional indicator symbols.
509
510 2011-08-18  Cary Clark  <caryclark@google.com>
511
512         Fix rubber band gutter drawing for Skia on Chromium Mac
513         https://bugs.webkit.org/show_bug.cgi?id=66478
514
515         Reviewed by James Robinson.
516
517         No new tests. The Skia on Chromium Mac platform has
518         not been enabled.
519
520         This break was detected at compile time; there is no
521         behavior change.
522
523         * platform/chromium/ScrollbarThemeChromiumMac.mm:
524         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
525         Convert the CGImage into an SkBitmap if Skia is present.
526
527 2011-08-18  Julien Chaffraix  <jchaffraix@webkit.org>
528
529         Implement a faster path for painting tables with overflowing cells
530         https://bugs.webkit.org/show_bug.cgi?id=65491
531
532         This change introduces a smarter way of painting if the table is big enough and we have a small amount
533         of overflowing cells in the table. The new path does a binary search of the cells to repaint but adds
534         the overflowing cells to the repainting cells.
535
536         This saves ~50% when doing programmatic scrolling throught JS on a 500x100 table with some overflowing
537         cells. Also we cap the memory usage to a ratio of the total size of the table to avoid blowing up the
538         memory.
539
540         Reviewed by David Hyatt.
541
542         No new tests as the behavior should be the same.
543
544         * rendering/RenderTableSection.cpp:
545         (WebCore::RenderTableSection::RenderTableSection):
546         (WebCore::RenderTableSection::layoutRows): Added some code to accumulate the overflowing cells
547         in an internal HashSet (we don't need to keep them sorted and it makes it easier to use them during
548         painting). If we hit the cap, flip the boolean value and clear the HashSet as the slow path does not
549         care about the cell's information. Make sure that the "has overflowing cells" information is still
550         properly encoded on our 2 values.
551
552         (WebCore::compareCellPositionsWithOverflowingCells): Added this method as we are doing a more
553         complicated sort:
554             * the old path would sort one (mostly sorted) array by rows only as the stable sort would
555               take care of keeping the column ordering inside a row.
556             * the new path basically has to sort an unsorted array (taken partly from the HashSet).
557
558         (WebCore::RenderTableSection::paintObject): Tweaked the logic to account for difference between
559         m_forceSlowPaintPathWithOverflowingCell and has some overflowing cells. Also we make sure we don't
560         repaint the same cell twice.
561
562         (WebCore::RenderTableSection::nodeAtPoint): Changed to hasOverflowingCell(). We don't apply our
563         fast path optimization here.
564
565         * rendering/RenderTableSection.h: Transformed our original boolean into
566         a HashSet and a boolean. The HashSet holds up the CellStruct that are overflowing
567         until we reach the memory threshold. After this is hit, we just set the boolean
568         to avoid using too much memory.
569
570         (WebCore::RenderTableSection::hasOverflowingCell): This is the new way to determine
571         if we have any overflowing cell, used only for hit testing.
572
573 2011-08-18  Kentaro Hara  <haraken@google.com>
574
575         An EventSource constructor should throw TypeError, when the number of arguments is not enough.
576         https://bugs.webkit.org/show_bug.cgi?id=66454
577
578         Reviewed by Adam Barth.
579
580         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
581
582         Test: fast/eventsource/eventsource-constructor.html
583
584         * bindings/js/JSEventSourceCustom.cpp:
585         (WebCore::JSEventSourceConstructor::constructJSEventSource): Changed SyntaxError to TypeError.
586         * bindings/v8/custom/V8EventSourceConstructor.cpp:
587         (WebCore::V8EventSource::constructorCallback): Changed SyntaxError to TypeError.
588
589 2011-08-18  Kentaro Hara  <haraken@google.com>
590
591         A SharedWorker constructor should throw TypeError, when the number of arguments is not enough.
592         https://bugs.webkit.org/show_bug.cgi?id=66455
593
594         Reviewed by Adam Barth.
595
596         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
597
598         Test: fast/workers/shared-worker-constructor.html
599
600         * bindings/js/JSSharedWorkerCustom.cpp:
601         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Changed SyntaxError to TypeError.
602         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
603         (WebCore::V8SharedWorker::constructorCallback): Changed SyntaxError to TypeError.
604
605 2011-08-17  Alejandro G. Castro  <alex@igalia.com>
606
607         [GTK] Fix compilation problems with deprecations in gtk+
608         https://bugs.webkit.org/show_bug.cgi?id=66073
609
610         Reviewed by Martin Robinson.
611
612         * platform/gtk/GtkAuthenticationDialog.cpp:
613         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
614         gtk_box_new conditional compilation for gtk+-3.
615         * platform/gtk/RenderThemeGtk3.cpp:
616         (WebCore::RenderThemeGtk::adjustRepaintRect):
617         (WebCore::RenderThemeGtk::paintSliderTrack):
618         (WebCore::RenderThemeGtk::paintSliderThumb):
619         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
620         GTK_TYPE_SCALE in gtk+3.
621
622 2011-08-18  Kentaro Hara  <haraken@google.com>
623
624         A Worker constructor should throw TypeError, when the number of arguments is not enough
625         https://bugs.webkit.org/show_bug.cgi?id=66456
626
627         Reviewed by Adam Barth.
628
629         Spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
630
631         Test: fast/workers/worker-constructor.html
632
633         * bindings/js/JSWorkerCustom.cpp:
634         (WebCore::JSWorkerConstructor::constructJSWorker): Changed SyntaxError to TypeError.
635         * bindings/v8/custom/V8WorkerCustom.cpp:
636         (WebCore::V8Worker::constructorCallback): Changed SyntaxError to TypeError.
637
638 2011-08-18  John Bates  <jbates@google.com>
639
640         Fix logic error causing reverse of desired WebGL rate limiting behavior
641         https://bugs.webkit.org/show_bug.cgi?id=66445
642
643         Reviewed by Kenneth Russell.
644
645         * platform/graphics/chromium/WebGLLayerChromium.cpp:
646         (WebCore::WebGLLayerChromium::setTextureUpdated):
647
648 2011-08-18  Levi Weintraub  <leviw@chromium.org>
649
650         Switch RenderTextControl* to new layout types
651         https://bugs.webkit.org/show_bug.cgi?id=66250
652
653         Reviewed by Eric Seidel.
654
655         Convertikng the RenderTextControl* classes to use the LayoutUnit abstraction.
656
657         No new tests as no change in behavior.
658
659         * rendering/LayoutTypes.h:
660         (WebCore::layoutMod): Added a function to perform the modulo operation on LayoutUnits.
661         * rendering/RenderTextControl.cpp:
662         (WebCore::RenderTextControl::hitInnerTextElement):
663         * rendering/RenderTextControl.h:
664         * rendering/RenderTextControlMultiLine.cpp:
665         (WebCore::RenderTextControlMultiLine::preferredContentWidth):
666         (WebCore::RenderTextControlMultiLine::baselinePosition):
667         * rendering/RenderTextControlMultiLine.h:
668         * rendering/RenderTextControlSingleLine.cpp:
669         (WebCore::RenderTextControlSingleLine::layout):
670         (WebCore::RenderTextControlSingleLine::controlClipRect):
671         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
672         (WebCore::RenderTextControlSingleLine::scrollWidth):
673         (WebCore::RenderTextControlSingleLine::scrollHeight):
674         (WebCore::RenderTextControlSingleLine::scrollLeft):
675         (WebCore::RenderTextControlSingleLine::scrollTop):
676         (WebCore::RenderTextControlSingleLine::setScrollLeft):
677         (WebCore::RenderTextControlSingleLine::setScrollTop):
678         * rendering/RenderTextControlSingleLine.h:
679
680 2011-08-18  Levi Weintraub  <leviw@chromium.org>
681
682         Switch Inline rendering classes to new layout types
683         https://bugs.webkit.org/show_bug.cgi?id=66239
684
685         Reviewed by Eric Seidel.
686
687         Converting inline rendering classes to use the LayoutUnit abstraction from ints.
688
689         No new tests as no change in functionality.
690
691         * rendering/InlineBox.h:
692         (WebCore::InlineBox::logicalFrameRect):
693         (WebCore::InlineBox::baselinePosition):
694         (WebCore::InlineBox::lineHeight):
695         * rendering/InlineFlowBox.h:
696         * rendering/InlineTextBox.cpp:
697         (WebCore::InlineTextBox::logicalOverflowRect):
698         (WebCore::InlineTextBox::setLogicalOverflowRect):
699         (WebCore::InlineTextBox::baselinePosition):
700         (WebCore::InlineTextBox::lineHeight):
701         * rendering/InlineTextBox.h:
702         (WebCore::InlineTextBox::logicalTopVisualOverflow):
703         (WebCore::InlineTextBox::logicalBottomVisualOverflow):
704         (WebCore::InlineTextBox::logicalLeftVisualOverflow):
705         (WebCore::InlineTextBox::logicalRightVisualOverflow):
706         * rendering/RenderInline.cpp:
707         (WebCore::RenderInline::culledInlineAbsoluteRects):
708         (WebCore::computeMargin):
709         (WebCore::RenderInline::culledInlineBoundingBox):
710         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
711         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
712         (WebCore::RenderInline::clippedOverflowRectForRepaint):
713         (WebCore::RenderInline::rectWithOutlineForRepaint):
714         (WebCore::RenderInline::computeRectForRepaint):
715         (WebCore::RenderInline::mapLocalToContainer):
716         (WebCore::RenderInline::lineHeight):
717         (WebCore::RenderInline::baselinePosition):
718         (WebCore::RenderInline::addDashboardRegions):
719         * rendering/RenderInline.h:
720
721 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
722
723         New XML parser: add doctype to DOM tree
724         https://bugs.webkit.org/show_bug.cgi?id=66408
725
726         Reviewed by Adam Barth.
727
728         * xml/parser/XMLTreeBuilder.cpp:
729         (WebCore::XMLTreeBuilder::processDOCTYPE):
730
731 2011-08-18  James Robinson  <jamesr@chromium.org>
732
733         [chromium] Draw the root/"non-composited content" in compositor side
734         https://bugs.webkit.org/show_bug.cgi?id=58834
735
736         Reviewed by Darin Fisher.
737
738         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
739         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
740         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
741         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
742             draw-time transform.
743         *) The root layer masks the alpha channel when drawing because of concerns about subpixel AA trashing the alpha
744             channel.  The root layer is always opaque so this is fine.
745         *) The root layer does not have border texels and does have subpixel AA for text.
746
747         Covered by compositing/
748
749         * WebCore.gypi:
750         * platform/graphics/chromium/ContentLayerChromium.cpp:
751         (WebCore::ContentLayerChromium::paintContentsIfDirty):
752         * platform/graphics/chromium/ImageLayerChromium.cpp:
753         (WebCore::ImageLayerChromium::paintContentsIfDirty):
754         * platform/graphics/chromium/LayerChromium.cpp:
755         (WebCore::LayerChromium::pushPropertiesTo):
756         * platform/graphics/chromium/LayerChromium.h:
757         (WebCore::LayerChromium::scrollPosition):
758         (WebCore::LayerChromium::setScrollPosition):
759         * platform/graphics/chromium/LayerRendererChromium.cpp:
760         (WebCore::LayerRendererChromium::initialize):
761         (WebCore::LayerRendererChromium::releaseTextures):
762         (WebCore::LayerRendererChromium::viewportChanged):
763         (WebCore::LayerRendererChromium::updateLayers):
764         (WebCore::LayerRendererChromium::drawLayers):
765         (WebCore::LayerRendererChromium::drawLayersInternal):
766         (WebCore::LayerRendererChromium::getFramebufferPixels):
767         (WebCore::LayerRendererChromium::cleanupSharedObjects):
768         (WebCore::LayerRendererChromium::layerTreeAsText):
769         * platform/graphics/chromium/LayerRendererChromium.h:
770         (WebCore::LayerRendererChromium::rootLayer):
771         (WebCore::LayerRendererChromium::viewportSize):
772         (WebCore::LayerRendererChromium::viewportWidth):
773         (WebCore::LayerRendererChromium::viewportHeight):
774         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
775         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
776         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
777         (WebCore::NonCompositedContentHost::invalidateRect):
778         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
779         (WebCore::NonCompositedContentHost::setScrollPosition):
780         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
781         (WebCore::NonCompositedContentHost::notifySyncRequired):
782         (WebCore::NonCompositedContentHost::paintContents):
783         (WebCore::NonCompositedContentHost::showDebugBorders):
784         (WebCore::NonCompositedContentHost::showRepaintCounter):
785         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
786         (WebCore::NonCompositedContentHost::create):
787         (WebCore::NonCompositedContentHost::graphicsLayer):
788         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
789         (WebCore::CCHeadsUpDisplay::draw):
790         * platform/graphics/chromium/cc/CCLayerImpl.h:
791         (WebCore::CCLayerImpl::scrollPosition):
792         (WebCore::CCLayerImpl::setScrollPosition):
793         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
794         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
795         (WebCore::CCLayerTreeHost::initialize):
796         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
797         (WebCore::CCLayerTreeHost::setRootLayer):
798         (WebCore::CCLayerTreeHost::setViewport):
799         (WebCore::CCLayerTreeHost::reallocateRenderer):
800         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
801         (WebCore::CCLayerTreeHost::rootLayer):
802         (WebCore::CCLayerTreeHost::viewportSize):
803
804 2011-08-18  Nico Weber  <thakis@chromium.org>
805
806         Fix "missing return" gcc warning in ScrollAnimatorNone
807         https://bugs.webkit.org/show_bug.cgi?id=66480
808
809         Reviewed by Tony Chang.
810
811         * platform/ScrollAnimatorNone.cpp:
812         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
813         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
814
815 2011-08-18  James Simonsen  <simonjam@chromium.org>
816
817         Revalidate expired resources if they're requested after the initial document load
818         https://bugs.webkit.org/show_bug.cgi?id=52153
819
820         Reviewed by Antti Koivisto.
821
822         Test: http/tests/cache/subresource-multiple-instances.html
823
824         * loader/cache/CachedResourceLoader.cpp:
825         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
826
827 2011-08-18  Anders Carlsson  <andersca@apple.com>
828
829         Fix clang libc++ C++0x build
830         https://bugs.webkit.org/show_bug.cgi?id=66475
831
832         Reviewed by Adam Roben.
833
834         Remove calls to isnan and isfinite with integer arguments.
835
836         * css/CSSPrimitiveValue.cpp:
837         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
838         * html/canvas/WebGLRenderingContext.cpp:
839         (WebCore::WebGLRenderingContext::viewport):
840
841 2011-08-18  Andrey Kosyakov  <caseq@chromium.org>
842
843         Web Inspector: [Extensions API] rename webInspector.resources to webInspector.network
844         https://bugs.webkit.org/show_bug.cgi?id=66460
845
846         Reviewed by Pavel Feldman.
847
848         Tests: http/tests/inspector/extensions-network-redirect.html
849                inspector/extensions/extensions-network.html
850
851         * inspector/front-end/ExtensionAPI.js:
852         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
853         (WebInspector.injectedExtensionAPI.Network.requestDispatch):
854         (WebInspector.injectedExtensionAPI):
855         (WebInspector.injectedExtensionAPI.Network.prototype.getHAR):
856         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty.getter):
857         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty):
858         * inspector/front-end/ExtensionServer.js:
859         (WebInspector.ExtensionServer):
860         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
861         (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
862         (WebInspector.ExtensionServer.prototype._onGetHAR):
863         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
864         (WebInspector.ExtensionServer.prototype._requestId):
865         (WebInspector.ExtensionServer.prototype._requestById):
866         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
867         (WebInspector.ExtensionServer.prototype._onAddAuditResult):
868         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
869         (WebInspector.ExtensionServer.prototype.initExtensions):
870         (WebInspector.ExtensionServer.prototype._onmessage):
871
872 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
873
874         Web Inspector: extract content loading functions from RawSourceCode to ContentProvider implementations.
875         https://bugs.webkit.org/show_bug.cgi?id=66237
876
877         Reviewed by Pavel Feldman.
878
879         Test: inspector/debugger/content-providers.html
880
881         * inspector/front-end/SourceFile.js:
882         (WebInspector.RawSourceCode.prototype._loadResourceContent):
883         (WebInspector.RawSourceCode.prototype._loadScriptContent):
884         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
885         (WebInspector.ScriptContentProvider):
886         (WebInspector.ScriptContentProvider.prototype.requestContent):
887         (WebInspector.ConcatenatedScriptsContentProvider):
888         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
889         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
890         (WebInspector.ResourceContentProvider):
891         (WebInspector.ResourceContentProvider.prototype.requestContent):
892
893 2011-08-18  Alexandru Chiculita  <achicu@adobe.com>
894
895         [CSSRegions] RenderRegion should not reference a parent RenderFlowThread
896         https://bugs.webkit.org/show_bug.cgi?id=66142
897
898         Added code that checks the parent RenderFlowThread of a RenderRegion and creates
899         a dependency for its referenced RenderFlowThread (from CSS style).
900
901         There are two cases:
902         1. A RenderRegion tries to display the flow thread that laid it out. In this case
903         the region will be ignored and will not participate in the flow threads regions list.
904         2. A RenderRegion tries to display a flow thread that contains another region that
905         tries to display the first region's flow thread. This one can be generalized with any
906         number of intermediate flow threads. In this case the recursion is detected and only the
907         first added region will actually be selected. The other region will be ignored. However,
908         when the recursion is removed the invalid regions will be recovered.
909
910         Reviewed by David Hyatt.
911
912         Tests: fast/regions/flows-dependency-dynamic-remove.html
913                fast/regions/flows-dependency-same-flow.html
914
915         * rendering/RenderBlock.cpp:
916         (WebCore::RenderBlock::insertPositionedObject):
917         * rendering/RenderFlowThread.cpp:
918         (WebCore::RenderFlowThread::dependsOn):
919         (WebCore::RenderFlowThread::addRegionToThread):
920         (WebCore::RenderFlowThread::removeRegionFromThread):
921         (WebCore::RenderFlowThread::checkInvalidRegions):
922         (WebCore::RenderFlowThread::addDependencyOnFlowThread):
923         (WebCore::RenderFlowThread::removeDependencyOnFlowThread):
924         (WebCore::RenderFlowThread::pushDependencies):
925         (WebCore::RenderFlowThread::layout):
926         (WebCore::RenderFlowThread::computeLogicalWidth):
927         (WebCore::RenderFlowThread::computeLogicalHeight):
928         (WebCore::RenderFlowThread::repaintRectangleInRegions):
929         * rendering/RenderFlowThread.h:
930         * rendering/RenderObjectChildList.cpp:
931         (WebCore::RenderObjectChildList::removeChildNode):
932         (WebCore::RenderObjectChildList::appendChildNode):
933         * rendering/RenderRegion.cpp:
934         (WebCore::RenderRegion::RenderRegion):
935         (WebCore::RenderRegion::~RenderRegion):
936         (WebCore::RenderRegion::paintReplaced):
937         (WebCore::RenderRegion::nodeAtPoint):
938         (WebCore::RenderRegion::attachRegion):
939         (WebCore::RenderRegion::detachRegion):
940         * rendering/RenderRegion.h:
941         (WebCore::RenderRegion::parentFlowThread):
942         (WebCore::RenderRegion::isValid):
943         (WebCore::RenderRegion::setIsValid):
944         * rendering/RenderTreeAsText.cpp:
945         (WebCore::writeRenderFlowThreads):
946         (WebCore::writeLayers):
947         * rendering/RenderView.cpp:
948         (WebCore::RenderView::RenderView):
949         (WebCore::RenderView::layout):
950         (WebCore::RenderView::renderFlowThreadWithName):
951         (WebCore::RenderView::layoutRenderFlowThreads):
952         * rendering/RenderView.h:
953         (WebCore::RenderView::hasRenderFlowThreads):
954         (WebCore::RenderView::isRenderFlowThreadOrderDirty):
955         (WebCore::RenderView::setIsRenderFlowThreadOrderDirty):
956         (WebCore::RenderView::renderFlowThreadList):
957
958 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
959
960         Web Inspector: add UISourceCode class.
961         https://bugs.webkit.org/show_bug.cgi?id=66233
962
963         This is a next step towards splitting SourceFile into RawSourceCode and UISourceCode.
964         UISourceCode is a part of SourceFile's interface that is visible to ScriptsPanel.
965         UISourceCode represents a single entry in scripts panel's files select.
966
967         Reviewed by Pavel Feldman.
968
969         Test: inspector/debugger/ui-source-code.html
970
971         * WebCore.gypi:
972         * WebCore.vcproj/WebCore.vcproj:
973         * inspector/front-end/UISourceCode.js: Added.
974         (WebInspector.UISourceCode):
975         (WebInspector.UISourceCode.prototype.get id):
976         (WebInspector.UISourceCode.prototype.get url):
977         (WebInspector.UISourceCode.prototype.get isContentScript):
978         (WebInspector.UISourceCode.prototype.requestContent):
979         (WebInspector.UISourceCode.prototype._didRequestContent):
980         (WebInspector.ContentProvider):
981         (WebInspector.ContentProvider.prototype.requestContent):
982         * inspector/front-end/WebKit.qrc:
983         * inspector/front-end/inspector.html:
984
985 2011-08-17  Adam Roben  <aroben@apple.com>
986
987         Make WebCore keep track of the current device scale factor
988
989         Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
990         device scale factor
991
992         Reviewed by Darin Adler.
993
994         * WebCore.exp.in: Removed Frame::deviceScaleFactorChanged, added Page::setDeviceScaleFactor.
995
996         * css/MediaQueryEvaluator.cpp:
997         (WebCore::device_pixel_ratioMediaFeatureEval):
998         * html/HTMLCanvasElement.cpp:
999         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1000         * page/DOMWindow.cpp:
1001         (WebCore::DOMWindow::devicePixelRatio):
1002         * rendering/RenderInline.cpp:
1003         (WebCore::RenderInline::addDashboardRegions):
1004         * rendering/RenderLayerCompositor.cpp:
1005         (WebCore::RenderLayerCompositor::deviceScaleFactor):
1006         * rendering/RenderObject.cpp:
1007         (WebCore::RenderObject::addDashboardRegions):
1008         Changed to get the device scale factor from Page.
1009
1010         * loader/EmptyClients.h:
1011         * page/Chrome.cpp:
1012         * page/Chrome.h:
1013         * page/ChromeClient.h:
1014         Removed Chrome[Client]::deviceScaleFactor.
1015
1016         * page/Frame.cpp:
1017         * page/Frame.h:
1018         Removed deviceScaleFactorChanged. Made deviceOrPageScaleFactorChanged public.
1019
1020         * page/Page.cpp:
1021         (WebCore::Page::Page): Initialize m_deviceScaleFactor.
1022         (WebCore::Page::setDeviceScaleFactor): Added. Code came from
1023         Frame::deviceScaleFactorChanged.
1024
1025         * page/Page.h: Added m_deviceScaleFactor.
1026         (WebCore::Page::deviceScaleFactor): Added simple getter.
1027
1028 2011-08-18  Darin Adler  <darin@apple.com>
1029
1030         SVG and HTML editing have conflicting inline isWhitespace functions
1031         https://bugs.webkit.org/show_bug.cgi?id=65145
1032
1033         Reviewed by Nikolas Zimmermann.
1034
1035         Renamed the SVG-specific whitespace functions to call it "SVG space"
1036         rather than just "whitespace". An alternative would have been to put
1037         the functions into an SVG namespace instead of the top level WebCore
1038         namespace.
1039
1040         * svg/SVGAnimateMotionElement.cpp:
1041         (WebCore::parsePoint): Call skipOptionalSVGSpaces.
1042         * svg/SVGAnimationElement.cpp:
1043         (WebCore::parseKeySplines): Ditto.
1044         * svg/SVGFitToViewBox.cpp:
1045         (WebCore::SVGFitToViewBox::parseViewBox): Ditto.
1046         * svg/SVGLengthList.cpp:
1047         (WebCore::SVGLengthList::parse): Call isSVGSpace and
1048         skipOptionalSVGSpacesOrDelimiter.
1049         * svg/SVGParserUtilities.cpp:
1050         (WebCore::genericParseNumber): Call skipOptionalSVGSpacesOrDelimiter.
1051         (WebCore::parseArcFlag): Ditto.
1052         (WebCore::parseRect): Call skipOptionalSVGSpaces.
1053         (WebCore::pointsListFromSVGData): Ditto.
1054         (WebCore::parseGlyphName): Call skipOptionalSVGSpaces, isSVGSpace,
1055         and skipOptionalSVGSpacesOrDelimiter.
1056         (WebCore::parseDelimitedString): Call skipOptionalSVGSpaces.
1057
1058         * svg/SVGParserUtilities.h:
1059         (WebCore::isSVGSpace): Renamed from isWhitespace. This better matches
1060         the comment which specifically talks about SVG.
1061         (WebCore::skipOptionalSVGSpaces): Renamed from skipOptionalSpaces.
1062         (WebCore::skipOptionalSVGSpacesOrDelimiter): Renamed from
1063         skipOptionalSVGSpacesOrDelimiter.
1064
1065         * svg/SVGPathStringSource.cpp:
1066         (WebCore::SVGPathStringSource::moveToNextToken): Call skipOptionalSVGSpaces.
1067         * svg/SVGPreserveAspectRatio.cpp:
1068         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): Ditto.
1069         * svg/SVGStringList.cpp:
1070         (WebCore::SVGStringList::parse): Call isSVGSpace and
1071         skipOptionalSVGSpacesOrDelimiter.
1072         * svg/SVGTransformable.cpp:
1073         (WebCore::parseTransformParamList): Call skipOptionalSVGSpaces and
1074         skipOptionalSVGSpacesOrDelimiter.
1075         (WebCore::SVGTransformable::parseTransformAttribute): Call skipOptionalSVGSpaces.
1076
1077 2011-08-18  Gavin Peters  <gavinp@chromium.org>
1078
1079         Prepare frames for history navigation.
1080
1081         Before beginning an explicit history navigation in a newly initialized
1082         frame, it's important to give a "previous" item to avoid crashes, and
1083         give a state to the state machine to avoid extra validating loads.
1084
1085         https://bugs.webkit.org/show_bug.cgi?id=66322
1086
1087         Reviewed by Darin Fisher.
1088
1089         No new tests, as history navigation is very difficult to test in
1090         DumpRenderTree.
1091
1092         * loader/FrameLoader.cpp:
1093         (WebCore::FrameLoader::prepareForHistoryNavigation):
1094         * loader/FrameLoader.h:
1095
1096 2011-08-18  Jing Zhao  <jingzhao@chromium.org>
1097
1098         When changing the size of a menulist from x (x>1) to 1, the first item should be selected.
1099         https://bugs.webkit.org/show_bug.cgi?id=66282
1100
1101         Reviewed by Kent Tamura.
1102
1103         No new tests since it only changes the behavior in Android Browser.
1104
1105         * html/HTMLSelectElement.cpp:
1106         (WebCore::HTMLSelectElement::parseMappedAttribute):
1107
1108 2011-08-18  Adam Klein  <adamk@chromium.org>
1109
1110         Handle "form" attribute updates in parseMappedAttribute() instead of attributeChanged() to better match HTMLElement practices
1111         https://bugs.webkit.org/show_bug.cgi?id=66321
1112
1113         Reviewed by Darin Adler.
1114
1115         This is simply a cleanup change: there's no need that I can see for
1116         HTMLFormControlElement and HTMLObjectElement to override
1117         Element::attributeChanged since they can properly handle form
1118         attribute changes in parseMappedAttribute, which they also override.
1119
1120         Though no change in behavior, I've added test coverage of the moved
1121         code to an existing test (fast/forms/form-attribute.html) and added
1122         a new test.
1123
1124         Test: fast/forms/radio-remove-form-attr.html
1125
1126         * html/HTMLFormControlElement.cpp:
1127         (WebCore::HTMLFormControlElement::parseMappedAttribute):
1128         * html/HTMLFormControlElement.h:
1129         * html/HTMLObjectElement.cpp:
1130         (WebCore::HTMLObjectElement::parseMappedAttribute):
1131         * html/HTMLObjectElement.h:
1132
1133 2011-08-18  Chang Shu  <cshu@webkit.org>
1134
1135         Add support of setPasswordEchoEnabled and setPasswordEchoDuration for password echo feature
1136         https://bugs.webkit.org/show_bug.cgi?id=66052
1137
1138         Reviewed by Alexey Proskuryakov.
1139
1140         Added runtime settings in WebCore.
1141         Added support in window.internals for testing.
1142
1143         Tests: editing/input/password-echo-passnode.html
1144                editing/input/password-echo-passnode2.html
1145                editing/input/password-echo-passnode3.html
1146                editing/input/password-echo-textnode.html
1147
1148         * page/Settings.cpp:
1149         (WebCore::Settings::Settings):
1150         * page/Settings.h:
1151         (WebCore::Settings::setPasswordEchoEnabled):
1152         (WebCore::Settings::passwordEchoEnabled):
1153         (WebCore::Settings::setPasswordEchoDurationInSeconds):
1154         (WebCore::Settings::passwordEchoDurationInSeconds):
1155         * testing/Internals.cpp:
1156         (WebCore::Internals::Internals):
1157         (WebCore::Internals::setPasswordEchoEnabled):
1158         (WebCore::Internals::setPasswordEchoDurationInSeconds):
1159         (WebCore::Internals::reset):
1160         * testing/Internals.h:
1161         * testing/Internals.idl:
1162
1163 2011-08-18  Wyatt Carss  <wcarss@chromium.org>
1164
1165         Selecting all and inserting text into a page with a frameset leads to a NULL ptr
1166         https://bugs.webkit.org/show_bug.cgi?id=66288
1167
1168         Reviewed by Tony Chang.
1169
1170         VisibleSelection returns a NoSelection to InsertTextCommand::doApply as
1171         a new endingSelection, which isn't a sane state to be in. The code
1172         tries to get a position on a higher node for a better selection, but
1173         cannot go above the frameset (which exists in place of the body tag),
1174         which lacks a renderer, and therefore cannot have a non-NoSelection
1175         VisibleSelection.
1176
1177         Because this is a rare corner case, it seemed more reasonable to bail
1178         out in this circumstance than to change the way VisibleSelection
1179         canonicalization works. The new behavior is to delete the content, but
1180         insert nothing. I investigated the possibility of trying to move above
1181         or below the frameset in this particular case, but there still isn't a
1182         renderer, so it didn't prevent the crash.
1183
1184         Test: editing/inserting/insert-text-into-empty-frameset-crash.html
1185
1186         * editing/InsertTextCommand.cpp:
1187         (WebCore::InsertTextCommand::doApply):
1188
1189 2011-08-18  Takashi Toyoshima  <toyoshim@chromium.org>
1190
1191         Remove arguments from CloseEvent::create().
1192         https://bugs.webkit.org/show_bug.cgi?id=66294
1193
1194         Reviewed by Kent Tamura.
1195
1196         CloseEvent objects are initialized by initCloseEvent() in all cases.
1197         Initialization in create() is redundant.
1198
1199         No new tests for no functional difference.
1200
1201         * websockets/CloseEvent.h:
1202         (WebCore::CloseEvent::create):
1203         (WebCore::CloseEvent::CloseEvent):
1204         * websockets/WebSocket.cpp:
1205         (WebCore::WebSocket::didClose):
1206
1207 2011-08-18  Fady Samuel  <fsamuel@chromium.org>
1208
1209         iframe and frameset scaling is broken
1210         https://bugs.webkit.org/show_bug.cgi?id=57785
1211
1212         Reviewed by Simon Fraser.
1213
1214         Fixed two iframe and frameset scaling bugs:
1215           #1 iframes and frameset backgrounds and scroll areas are doubly scaled when they are styled with -webkit-transform.
1216           #2 frameset does not respect -webkit-transform-origin when scaled
1217
1218         Tests: fast/frames/frame-set-scaling-3d.html
1219                fast/frames/frame-set-scaling-centered.html
1220                fast/frames/frame-set-scaling-rotate.html
1221                fast/frames/frame-set-scaling-skew.html
1222                fast/frames/frame-set-scaling.html
1223                fast/frames/iframe-scaling-with-scroll.html
1224
1225         * rendering/RenderFrameSet.cpp:
1226         (WebCore::RenderFrameSet::layout):
1227         Update the FrameSet's layer transform after we've computed size to correctly account for the transform origin.
1228         * rendering/RenderLayer.cpp:
1229         (WebCore::RenderLayer::childrenClipRect):
1230         The dirty rect should be the document's unscaled size.
1231         * rendering/RenderWidget.cpp:
1232         (WebCore::RenderWidget::setWidget):
1233         (WebCore::RenderWidget::updateWidgetPosition):
1234         Don't scale the FrameView rect here. Scaling is done within the FrameView.
1235
1236 2011-08-18  Csaba Osztrogon√°c  <ossy@webkit.org>
1237
1238         Unreviewed buildfix after r93268.
1239
1240         * dom/Document.cpp:
1241         (WebCore::disableRangeMutation):
1242
1243 2011-08-17  Emil A Eklund  <eae@chromium.org>
1244
1245         Switch RenderBox to to new layout types
1246         https://bugs.webkit.org/show_bug.cgi?id=66156
1247
1248         Reviewed by Eric Seidel.
1249
1250         Convert RenderBox to new layout abstraction as a part of the ongoing
1251         conversion work.
1252
1253         No new tests as no new functionality.
1254
1255         * rendering/RenderBox.cpp:
1256         (WebCore::RenderBox::scrollWidth):
1257         (WebCore::RenderBox::scrollHeight):
1258         (WebCore::RenderBox::scrollLeft):
1259         (WebCore::RenderBox::scrollTop):
1260         (WebCore::RenderBox::setScrollLeft):
1261         (WebCore::RenderBox::setScrollTop):
1262         (WebCore::RenderBox::absoluteRects):
1263         (WebCore::RenderBox::absoluteContentBox):
1264         (WebCore::RenderBox::absoluteContentQuad):
1265         (WebCore::RenderBox::outlineBoundsForRepaint):
1266         (WebCore::RenderBox::reflectionBox):
1267         (WebCore::RenderBox::reflectedRect):
1268         (WebCore::RenderBox::verticalScrollbarWidth):
1269         (WebCore::RenderBox::horizontalScrollbarHeight):
1270         (WebCore::RenderBox::computeContentBoxLogicalWidth):
1271         (WebCore::RenderBox::computeContentBoxLogicalHeight):
1272         (WebCore::RenderBox::maskClipRect):
1273         (WebCore::RenderBox::repaintLayerRectsForImage):
1274         (WebCore::RenderBox::pushContentsClip):
1275         (WebCore::RenderBox::overflowClipRect):
1276         (WebCore::RenderBox::clipRect):
1277         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
1278         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1279         (WebCore::RenderBox::positionLineBox):
1280         (WebCore::RenderBox::clippedOverflowRectForRepaint):
1281         (WebCore::RenderBox::computeRectForRepaint):
1282         (WebCore::RenderBox::computeLogicalWidth):
1283         (WebCore::RenderBox::computeInlineDirectionMargins):
1284         (WebCore::RenderBox::computeLogicalHeight):
1285         (WebCore::RenderBox::computeLogicalHeightUsing):
1286         (WebCore::RenderBox::computePercentageLogicalHeight):
1287         (WebCore::RenderBox::computeBlockDirectionMargins):
1288         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1289         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1290         (WebCore::computeInlineStaticDistance):
1291         (WebCore::RenderBox::computePositionedLogicalWidth):
1292         (WebCore::computeLogicalLeftPositionedOffset):
1293         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1294         (WebCore::computeBlockStaticDistance):
1295         (WebCore::RenderBox::computePositionedLogicalHeight):
1296         (WebCore::computeLogicalTopPositionedOffset):
1297         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1298         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1299         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1300         (WebCore::RenderBox::localCaretRect):
1301         (WebCore::RenderBox::lineHeight):
1302         (WebCore::RenderBox::baselinePosition):
1303         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
1304         (WebCore::RenderBox::visualOverflowRectForPropagation):
1305         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
1306         (WebCore::RenderBox::layoutOverflowRectForPropagation):
1307         (WebCore::RenderBox::locationOffsetIncludingFlipping):
1308         * rendering/RenderBox.h:
1309         (WebCore::RenderBox::borderFitAdjust):
1310         (WebCore::RenderBox::intrinsicSize):
1311         (WebCore::RenderBox::intrinsicLogicalWidth):
1312         (WebCore::RenderBox::intrinsicLogicalHeight):
1313         (WebCore::RenderBox::scrollbarLogicalHeight):
1314         (WebCore::RenderBox::controlClipRect):
1315         (WebCore::RenderBox::firstLineBoxBaseline):
1316         (WebCore::RenderBox::lastLineBoxBaseline):
1317
1318 2011-08-17  Annie Sullivan  <sullivan@chromium.org>
1319
1320         Reduce usages of String::createUninitialized
1321         https://bugs.webkit.org/show_bug.cgi?id=66399
1322
1323         Constructs Strings with StringBuilder instead of calling createUninitialized.
1324
1325         Reviewed by Adam Barth.
1326
1327         No new tests; no functional change.
1328
1329         * dom/StyleElement.cpp:
1330         (WebCore::StyleElement::process):
1331         * dom/Text.cpp:
1332         (WebCore::Text::wholeText):
1333         * html/parser/HTMLSourceTracker.cpp:
1334         (WebCore::HTMLSourceTracker::sourceForToken):
1335         * platform/graphics/Font.cpp:
1336         (WebCore::Font::normalizeSpaces):
1337         * platform/text/TextCodecUserDefined.cpp:
1338         (WebCore::TextCodecUserDefined::decode):
1339
1340 2011-08-17  Emil A Eklund  <eae@chromium.org>
1341
1342         Switch FrameView to to new layout types
1343         https://bugs.webkit.org/show_bug.cgi?id=66147
1344
1345         Reviewed by Eric Seidel.
1346
1347         Convert Frame & FrameView to new layout abstraction as a part of the
1348         ongoing conversion work.
1349
1350         No new tests, no new functionality.
1351
1352         * page/Frame.cpp:
1353         (WebCore::Frame::visiblePositionForPoint):
1354         (WebCore::Frame::documentAtPoint):
1355         (WebCore::Frame::rangeForPoint):
1356         (WebCore::Frame::setPageAndTextZoomFactors):
1357         (WebCore::Frame::scalePage):
1358         * page/Frame.h:
1359         * page/FrameView.cpp:
1360         (WebCore::FrameView::create):
1361         (WebCore::FrameView::reset):
1362         (WebCore::FrameView::init):
1363         (WebCore::FrameView::invalidateRect):
1364         (WebCore::FrameView::setFrameRect):
1365         (WebCore::FrameView::setMarginWidth):
1366         (WebCore::FrameView::setMarginHeight):
1367         (WebCore::FrameView::setContentsSize):
1368         (WebCore::FrameView::adjustViewSize):
1369         (WebCore::FrameView::scrollXForFixedPosition):
1370         (WebCore::FrameView::scrollYForFixedPosition):
1371         (WebCore::FrameView::scrollOffsetForFixedPosition):
1372         (WebCore::FrameView::currentMousePosition):
1373         (WebCore::FrameView::scrollContentsFastPath):
1374         (WebCore::FrameView::scrollContentsSlowPath):
1375         (WebCore::FrameView::setScrollPosition):
1376         (WebCore::FrameView::repaintContentRectangle):
1377         (WebCore::FrameView::scrollToAnchor):
1378         (WebCore::FrameView::performPostLayoutTasks):
1379         (WebCore::FrameView::windowClipRect):
1380         (WebCore::FrameView::windowClipRectForLayer):
1381         (WebCore::FrameView::scrollTo):
1382         (WebCore::FrameView::invalidateScrollbarRect):
1383         (WebCore::FrameView::getTickmarks):
1384         (WebCore::FrameView::windowResizerRect):
1385         (WebCore::FrameView::setVisibleScrollerThumbRect):
1386         (WebCore::FrameView::paintScrollCorner):
1387         (WebCore::FrameView::paintContents):
1388         (WebCore::FrameView::paintOverhangAreas):
1389         (WebCore::FrameView::forceLayoutForPagination):
1390         (WebCore::FrameView::convertFromRenderer):
1391         (WebCore::FrameView::convertToRenderer):
1392         (WebCore::FrameView::convertToContainingView):
1393         (WebCore::FrameView::convertFromContainingView):
1394         * page/FrameView.h:
1395         (WebCore::FrameView::marginWidth):
1396         (WebCore::FrameView::marginHeight):
1397         * page/mac/FrameMac.mm:
1398         (WebCore::Frame::snapshotDragImage):
1399         (WebCore::Frame::nodeImage):
1400
1401 2011-08-17  Emil A Eklund  <eae@chromium.org>
1402
1403         Switch html/* to to new layout types
1404         https://bugs.webkit.org/show_bug.cgi?id=66347
1405
1406         Reviewed by Eric Seidel.
1407
1408         Convert HTML* and shadow element to new layout abstraction as a part of
1409         the ongoing conversion work.
1410
1411         No new tests, no new functionality.
1412
1413         * html/HTMLAreaElement.cpp:
1414         (WebCore::HTMLAreaElement::invalidateCachedRegion):
1415         (WebCore::HTMLAreaElement::mapMouseEvent):
1416         (WebCore::HTMLAreaElement::computePath):
1417         (WebCore::HTMLAreaElement::computeRect):
1418         (WebCore::HTMLAreaElement::getRegion):
1419         * html/HTMLAreaElement.h:
1420         * html/HTMLCanvasElement.cpp:
1421         (WebCore::HTMLCanvasElement::paint):
1422         * html/HTMLCanvasElement.h:
1423         * html/HTMLMapElement.cpp:
1424         (WebCore::HTMLMapElement::mapMouseEvent):
1425         * html/HTMLMapElement.h:
1426         * html/ImageDocument.cpp:
1427         (WebCore::ImageDocumentParser::finish):
1428         (WebCore::ImageDocument::scale):
1429         (WebCore::ImageDocument::resizeImageToFit):
1430         (WebCore::ImageDocument::imageFitsInWindow):
1431         * html/ValidationMessage.cpp:
1432         (WebCore::adjustBubblePosition):
1433         * html/canvas/CanvasRenderingContext2D.cpp:
1434         (WebCore::size):
1435         (WebCore::CanvasRenderingContext2D::drawImage):
1436         * html/shadow/MediaControlElements.cpp:
1437         (WebCore::MediaControlPanelElement::startDrag):
1438         (WebCore::MediaControlPanelElement::continueDrag):
1439         (WebCore::MediaControlPanelElement::setPosition):
1440         (WebCore::MediaControlPanelElement::defaultEventHandler):
1441         * html/shadow/MediaControlElements.h:
1442         * html/shadow/SliderThumbElement.cpp:
1443         (WebCore::SliderThumbElement::dragFrom):
1444         (WebCore::SliderThumbElement::setPositionFromPoint):
1445         * html/shadow/SliderThumbElement.h:
1446         * rendering/RenderImage.cpp:
1447         (WebCore::RenderImage::nodeAtPoint):
1448
1449 2011-08-17  David Grogan  <dgrogan@chromium.org>
1450
1451         Change references to leveldb.gyp to leveldatabase.gyp as part of the
1452         leveldb refactoring going on in chromium: crbug.com/89378
1453         https://bugs.webkit.org/show_bug.cgi?id=66332
1454
1455         Reviewed by Tony Gentilcore.
1456
1457         Tests: new-run-webkit-tests --debug --chromium --no-retry-failures --build-directory=llvm storage/indexeddb
1458
1459         * WebCore.gyp/WebCore.gyp:
1460
1461 2011-08-17  Hayato Ito  <hayato@chromium.org>
1462
1463         Implement proper handling of focus/blur events in regard to shadow DOM boundaries.
1464         https://bugs.webkit.org/show_bug.cgi?id=61421
1465
1466         Reviewed by Dimitri Glazkov.
1467
1468         Introduces FocusEventDispatchMediator/BlurEventDispatchMediator so
1469         that focus/blue events are stopped at the lowest common shadow boundary.
1470
1471         * dom/Document.cpp:
1472         (WebCore::Document::setFocusedNode):
1473         * dom/Event.cpp:
1474         (WebCore::FocusEventDispatchMediator::create):
1475         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1476         (WebCore::FocusEventDispatchMediator::dispatchEvent):
1477         (WebCore::BlurEventDispatchMediator::create):
1478         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1479         (WebCore::BlurEventDispatchMediator::dispatchEvent):
1480         * dom/Event.h:
1481         * dom/Node.cpp:
1482         (WebCore::Node::dispatchFocusEvent):
1483         (WebCore::Node::dispatchBlurEvent):
1484         * dom/Node.h:
1485         * html/HTMLFormControlElement.cpp:
1486         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
1487         * html/HTMLFormControlElement.h:
1488         * html/HTMLSelectElement.cpp:
1489         (WebCore::HTMLSelectElement::dispatchFocusEvent):
1490         (WebCore::HTMLSelectElement::dispatchBlurEvent):
1491         * html/HTMLSelectElement.h:
1492         * html/HTMLTextFormControlElement.cpp:
1493         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
1494         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
1495         * html/HTMLTextFormControlElement.h:
1496         * page/FocusController.cpp:
1497         (WebCore::dispatchEventsOnWindowAndFocusedNode):
1498
1499 2011-08-17  Ben Wells  <benwells@chromium.org>
1500
1501         Canvas fill and fillRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
1502         https://bugs.webkit.org/show_bug.cgi?id=66036
1503
1504         These modes cannot be passed straight through to the underlying graphics context as the graphics context
1505         and the HTML5 canvas spec have different interpretations to them. In the graphics context, the compositing
1506         modes are applied just over the area being filled. In the HTML5 spec, the compositing modes are applied over
1507         the entire canvas.
1508
1509         The SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy modes all need some kind of extra action
1510         to just performing the composited fill on the canvas, as they need t he canvas to be cleared outside of the 
1511         area being filled.
1512
1513         Previous to this change the Copy mode did not do this clearing at all. The other modes did but if the
1514         transformed path being filled contained anti-aliasing at its edges artifacts were introduced.
1515
1516         With this change, Copy now does a complete erase of the canvas before performing a fill as per normal.
1517         The other modes use a temporary buffer just big enough for the transformed path (in device coordinates).
1518         The fill is first done there in SourceOver mode. Then this is drawn into the canvas context using the
1519         appropriate mode, with any areas outside the draw area being cleared.
1520
1521         Reviewed by James Robinson.
1522
1523         Test: fast/canvas/canvas-composite-transformclip.html
1524
1525         * html/HTMLCanvasElement.h:
1526         * html/canvas/CanvasRenderingContext2D.cpp:
1527         (WebCore::CanvasRenderingContext2D::fill):
1528         (WebCore::CanvasRenderingContext2D::fillRect):
1529         (WebCore::CanvasRenderingContext2D::clearCanvas):
1530         (WebCore::CanvasRenderingContext2D::transformAreaToDevice):
1531         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
1532         * html/canvas/CanvasRenderingContext2D.h:
1533         * platform/graphics/skia/ImageBufferSkia.cpp:
1534         (WebCore::ImageBuffer::ImageBuffer):
1535
1536 2011-08-17  Emil A Eklund  <eae@chromium.org>
1537
1538         Switch inspector to to new layout types
1539         https://bugs.webkit.org/show_bug.cgi?id=66358
1540
1541         Reviewed by Eric Seidel.
1542
1543         Convert inspector code to new layout abstraction as a part of the ongoing
1544         conversion work.
1545
1546         No new tests, no new functionality.
1547
1548         * inspector/DOMNodeHighlighter.cpp:
1549         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
1550         * inspector/InspectorInstrumentation.cpp:
1551         (WebCore::InspectorInstrumentation::willPaintImpl):
1552         * inspector/InspectorInstrumentation.h:
1553         (WebCore::InspectorInstrumentation::willPaint):
1554         * inspector/InspectorTimelineAgent.cpp:
1555         (WebCore::InspectorTimelineAgent::willPaint):
1556         * inspector/InspectorTimelineAgent.h:
1557         * inspector/TimelineRecordFactory.cpp:
1558         (WebCore::TimelineRecordFactory::createPaintData):
1559         * inspector/TimelineRecordFactory.h:
1560
1561 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1562
1563         Switch Editing code to new layout types
1564         https://bugs.webkit.org/show_bug.cgi?id=66355
1565
1566         Reviewed by Eric Seidel.
1567
1568         Converting remaining editing code to the LayoutUnit abstraction.
1569
1570         No new tests, no change in functionality.
1571
1572         * editing/Editor.cpp:
1573         (WebCore::Editor::rangeForPoint):
1574         (WebCore::Editor::insideVisibleArea):
1575         (WebCore::Editor::countMatchesForText):
1576         * editing/Editor.h:
1577         * editing/mac/FrameSelectionMac.mm:
1578         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1579
1580 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1581
1582         Switch Accessibility code to new layout types
1583         https://bugs.webkit.org/show_bug.cgi?id=66348
1584
1585         Reviewed by Eric Seidel.
1586
1587         Converting remaining Accessibility code to the LayoutUnit abstraction.
1588
1589         No new tests, no change in functionality
1590
1591         * accessibility/AccessibilityImageMapLink.cpp:
1592         (WebCore::AccessibilityImageMapLink::elementRect):
1593         * accessibility/AccessibilityImageMapLink.h:
1594         * accessibility/AccessibilityListBox.cpp:
1595         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
1596         * accessibility/AccessibilityListBox.h:
1597         * accessibility/AccessibilityListBoxOption.cpp:
1598         (WebCore::AccessibilityListBoxOption::elementRect):
1599         * accessibility/AccessibilityListBoxOption.h:
1600         * accessibility/AccessibilityMenuListOption.cpp:
1601         (WebCore::AccessibilityMenuListOption::elementRect):
1602         * accessibility/AccessibilityMenuListOption.h:
1603         (WebCore::AccessibilityMenuListOption::size):
1604         * accessibility/AccessibilityMenuListPopup.h:
1605         (WebCore::AccessibilityMenuListPopup::elementRect):
1606         (WebCore::AccessibilityMenuListPopup::size):
1607         * accessibility/AccessibilityObject.cpp:
1608         (WebCore::AccessibilityObject::clickPoint):
1609         (WebCore::AccessibilityObject::orientation):
1610         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
1611         * accessibility/AccessibilityObject.h:
1612         (WebCore::AccessibilityObject::accessibilityHitTest):
1613         (WebCore::AccessibilityObject::boundingBoxRect):
1614         (WebCore::AccessibilityObject::size):
1615         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
1616         (WebCore::AccessibilityObject::doAXBoundsForRange):
1617         * accessibility/AccessibilityRenderObject.cpp:
1618         (WebCore::AccessibilityRenderObject::isOffScreen):
1619         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1620         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1621         (WebCore::AccessibilityRenderObject::elementRect):
1622         (WebCore::AccessibilityRenderObject::size):
1623         (WebCore::AccessibilityRenderObject::clickPoint):
1624         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1625         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1626         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1627         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
1628         * accessibility/AccessibilityRenderObject.h:
1629         * accessibility/AccessibilityScrollView.cpp:
1630         (WebCore::AccessibilityScrollView::accessibilityHitTest):
1631         (WebCore::AccessibilityScrollView::elementRect):
1632         * accessibility/AccessibilityScrollView.h:
1633         * accessibility/AccessibilityScrollbar.cpp:
1634         (WebCore::AccessibilityScrollbar::elementRect):
1635         * accessibility/AccessibilityScrollbar.h:
1636         * accessibility/AccessibilitySlider.cpp:
1637         (WebCore::AccessibilitySliderThumb::elementRect):
1638         (WebCore::AccessibilitySliderThumb::size):
1639         * accessibility/AccessibilitySlider.h:
1640         * accessibility/AccessibilityTableColumn.cpp:
1641         (WebCore::AccessibilityTableColumn::elementRect):
1642         (WebCore::AccessibilityTableColumn::size):
1643         * accessibility/AccessibilityTableColumn.h:
1644         * accessibility/AccessibilityTableHeaderContainer.cpp:
1645         (WebCore::AccessibilityTableHeaderContainer::elementRect):
1646         (WebCore::AccessibilityTableHeaderContainer::size):
1647         * accessibility/AccessibilityTableHeaderContainer.h:
1648         * accessibility/mac/AccessibilityObjectWrapper.mm:
1649         (-[AccessibilityObjectWrapper position]):
1650         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1651         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
1652
1653 2011-08-17  Emil A Eklund  <eae@chromium.org>
1654
1655         Switch focus handling to to new layout types
1656         https://bugs.webkit.org/show_bug.cgi?id=66331
1657
1658         Reviewed by Eric Seidel.
1659
1660         Convert FocusController and SpatialNavigation to new layout abstraction
1661         as a part of the ongoing conversion work.
1662
1663         No new tests, no new functionality.
1664
1665         * page/FocusController.cpp:
1666         (WebCore::updateFocusCandidateIfNeeded):
1667         (WebCore::FocusController::findFocusCandidateInContainer):
1668         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
1669         (WebCore::FocusController::advanceFocusDirectionally):
1670         * page/FocusController.h:
1671         * page/SpatialNavigation.cpp:
1672         (WebCore::alignmentForRects):
1673         (WebCore::start):
1674         (WebCore::middle):
1675         (WebCore::end):
1676         (WebCore::areRectsFullyAligned):
1677         (WebCore::areRectsPartiallyAligned):
1678         (WebCore::areRectsMoreThanFullScreenApart):
1679         (WebCore::below):
1680         (WebCore::rightOf):
1681         (WebCore::isRectInDirection):
1682         (WebCore::hasOffscreenRect):
1683         (WebCore::scrollInDirection):
1684         (WebCore::deflateIfOverlapped):
1685         (WebCore::canScrollInDirection):
1686         (WebCore::rectToAbsoluteCoordinates):
1687         (WebCore::nodeRectInAbsoluteCoordinates):
1688         (WebCore::frameRectInAbsoluteCoordinates):
1689         (WebCore::entryAndExitPointsForDirection):
1690         (WebCore::distanceDataForNode):
1691         (WebCore::canBeScrolledIntoView):
1692         (WebCore::virtualRectForDirection):
1693         (WebCore::virtualRectForAreaElementAndDirection):
1694         * page/SpatialNavigation.h:
1695
1696 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1697
1698         Switch Document, DocumentMarker, Clipboard, and Range to new layout types
1699         https://bugs.webkit.org/show_bug.cgi?id=66330
1700
1701         Reviewed by Eric Seidel.
1702
1703         Converting the remaining DOM classes to use the LayoutUnit abstraction.
1704
1705         No new tests, no new behavior.
1706
1707         * dom/Clipboard.h:
1708         (WebCore::Clipboard::dragLocation):
1709         * dom/Document.cpp:
1710         (WebCore::Document::nodesFromRect):
1711         (WebCore::nodeFromPoint):
1712         (WebCore::Document::caretRangeFromPoint):
1713         (WebCore::Document::prepareMouseEvent):
1714         * dom/Document.h:
1715         * dom/DocumentMarkerController.cpp:
1716         (WebCore::DocumentMarkerController::markerContainingPoint):
1717         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1718         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
1719         * dom/DocumentMarkerController.h:
1720         * dom/Range.cpp:
1721         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
1722         * dom/RenderedDocumentMarker.h:
1723         (WebCore::RenderedDocumentMarker::contains):
1724         (WebCore::RenderedDocumentMarker::setRenderedRect):
1725         (WebCore::RenderedDocumentMarker::renderedRect):
1726         (WebCore::RenderedDocumentMarker::invalidMarkerRect):
1727         (WebCore::RenderedDocumentMarker::invalidate):
1728
1729 2011-08-17  Dan Bernstein  <mitz@apple.com>
1730
1731         Removed an unused setting.
1732
1733         Reviewed by Anders Carlsson.
1734
1735         * WebCore.exp.in:
1736         * page/Settings.cpp:
1737         (WebCore::Settings::Settings): Removed initializer for m_needsTigerMailQuirks.
1738         * page/Settings.h: Removed accessors.
1739
1740 2011-08-17  Oliver Hunt  <oliver@apple.com>
1741
1742         Move towards supporting user controlled prototypes on CanvasPixelArray
1743         https://bugs.webkit.org/show_bug.cgi?id=66429
1744
1745         Reviewed by Gavin Barraclough.
1746
1747         Start using a per-global object structure for canvas pixel array.
1748
1749         * bindings/js/JSImageDataCustom.cpp:
1750         (WebCore::toJS):
1751
1752 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
1753
1754         Support cast from CSSPrimitiveValue to unsigned, and use in appropriate places in CSSStyleSelector::applyProperty
1755         https://bugs.webkit.org/show_bug.cgi?id=66281
1756
1757         Reviewed by Eric Seidel.
1758
1759         No new tests - refactoring only.
1760
1761         The return if type!=CSS_NUMBER case becomes an ASSERT because it is unreachable unless there is an error in the parser.
1762
1763         * css/CSSPrimitiveValueMappings.h:
1764         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1765         Support cast from unsigned to CSSPrimitiveValue
1766         (WebCore::CSSPrimitiveValue::operator unsigned):
1767         Support cast from CSSPrimitiveValue to unsigned
1768         * css/CSSStyleSelector.cpp:
1769         (WebCore::CSSStyleSelector::applyProperty):
1770         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for CSSPropertyWebkitBoxFlex,
1771         CSSPropertyWebkitBoxFlexGroup and CSSPropertyWebkitBoxOrdinalGroup properties.
1772
1773 2011-08-17  Scott Byer  <scottbyer@chromium.org>
1774
1775         ScrollAnimatorNone: Remove unused field
1776         https://bugs.webkit.org/show_bug.cgi?id=66312
1777
1778         Reviewed by Adam Barth.
1779
1780         No functional change; no test needed.
1781
1782         * platform/ScrollAnimatorNone.cpp:
1783         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
1784         (WebCore::ScrollAnimatorNone::scroll):
1785         * platform/ScrollAnimatorNone.h:
1786
1787 2011-08-17  Jeff Miller  <jeffm@apple.com>
1788
1789         Work-in-progress on Soft link against AVFoundationCF and CoreMedia
1790         https://bugs.webkit.org/show_bug.cgi?id=65725
1791         
1792         Don't bother with SOFT_LINK_LIBRARY(libdispatch), we're going to continue to statically link to it since
1793         the DLL will have already been loaded by other parts of AAS and is guaranteed to be available if AVFoundation
1794         is enabled.
1795
1796         Reviewed by Anders Carlsson.
1797
1798         No new tests; no functional change.
1799
1800         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Removed SOFT_LINK_DEBUG_LIBRARY(libdispatch) and SOFT_LINK_LIBRARY(libdispatch).
1801         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable): Don't check for libdispatch.
1802
1803 2011-08-17  Brady Eidson  <beidson@apple.com>
1804
1805         https://bugs.webkit.org/show_bug.cgi?id=66354 and <rdar://problem/9965209>
1806         Regression:  On Lion, redirects lose HTTP authentication headers
1807
1808         Reviewed by Alexey Proskuryakov and Darin Adler.
1809
1810         This changes makes WebCore try to apply basic credentials after a redirect if the redirect is to the same origin,
1811         assuming the redirected URL did not contain credentials directly.
1812
1813         Tests: http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html
1814                http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html
1815                http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
1816
1817         * platform/network/cf/ResourceHandleCFNet.cpp:
1818         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
1819         (WebCore::ResourceHandle::createCFURLConnection): Use the applyBasicAuthorizationHeader helper.
1820         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
1821
1822         * platform/network/mac/ResourceHandleMac.mm:
1823         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
1824         (WebCore::ResourceHandle::createNSURLConnection): Use the applyBasicAuthorizationHeader helper.
1825         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
1826
1827 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
1828
1829         Accessibility stack exhaustion using role attribute
1830         https://bugs.webkit.org/show_bug.cgi?id=65174
1831
1832         Reviewed by Darin Adler.
1833
1834         Forgot to commit review comments.
1835
1836         * accessibility/AccessibilityRenderObject.cpp:
1837         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
1838
1839 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
1840
1841         Accessibility stack exhaustion using role attribute
1842         https://bugs.webkit.org/show_bug.cgi?id=65174
1843
1844         Make sure we do not call accessibilityIsIgnored() during the AccessibilityObject
1845         creation flow. That can lead to loops.
1846    
1847         Reviewed by Darin Adler.
1848
1849         Tests: accessibility/crash-determining-aria-role-when-label-present.html
1850
1851         * accessibility/AccessibilityObject.cpp:
1852         (WebCore::createARIARoleMap):
1853         * accessibility/AccessibilityRenderObject.cpp:
1854         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
1855         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1856         * accessibility/AccessibilityRenderObject.h:
1857
1858 2011-08-17  James Robinson  <jamesr@chromium.org>
1859
1860         [chromium] Crash if compositing is disabled during updateLayers()
1861         https://bugs.webkit.org/show_bug.cgi?id=66353
1862
1863         Reviewed by Kenneth Russell.
1864
1865         If compositing is turned off during LayerRendererChromium::updateLayers(), the rootLayer() will become null.
1866         Sicne CCLayerTreeHost::doComposite() calls updateLayers() and then drawLayers() without checking for this case,
1867         drawLayers() has to return without doing anything if the root layer is null.
1868
1869         Crash fixed based on crash reports.  No known reliably repro case, unfortunately.
1870
1871         * platform/graphics/chromium/LayerRendererChromium.cpp:
1872         (WebCore::LayerRendererChromium::drawLayers):
1873
1874 2011-08-17  Dan Bernstein  <mitz@apple.com>
1875
1876         <rdar://problem/9971293> Mid-word breaks can occur in the middle of a surrogate pair
1877         https://bugs.webkit.org/show_bug.cgi?id=66402
1878
1879         Reviewed by Dave Hyatt.
1880
1881         Test: fast/text/midword-break-before-surrogate-pair-2.html
1882
1883         * rendering/RenderBlockLineLayout.cpp:
1884         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Just never allow a mid-word
1885         break before a trailing surrogate.
1886
1887 2011-08-16  Chang Shu  <cshu@webkit.org>
1888
1889         Support reset in WebCore::Internals
1890         https://bugs.webkit.org/show_bug.cgi?id=66307
1891
1892         Reviewed by Dimitri Glazkov.
1893
1894         New tests will be added when function reset is implemented.
1895
1896         Added framework code in WebCoreTestSupport. The real implementation of
1897         Internals::reset() depends on the need from the settings that require a reset.
1898
1899         * testing/Internals.cpp:
1900         (WebCore::Internals::reset):
1901         * testing/Internals.h:
1902         * testing/js/WebCoreTestSupport.cpp:
1903         (WebCoreTestSupport::resetInternalsObject):
1904         * testing/js/WebCoreTestSupport.h:
1905         * testing/v8/WebCoreTestSupport.cpp:
1906         (WebCoreTestSupport::resetInternalsObject):
1907         * testing/v8/WebCoreTestSupport.h:
1908
1909 2011-08-17  Tony Chang  <tony@chromium.org>
1910
1911         Fix chromium mac compile.  MediaPlayerPrivateAVFoundationObjC.* moved
1912         and the WebCore.gypi file wasn't updated.
1913
1914         * WebCore.gypi:
1915
1916 2011-08-17  Abhishek Arya  <inferno@chromium.org>
1917
1918         Crash in Document::recalcStyleSelector
1919         https://bugs.webkit.org/show_bug.cgi?id=66335
1920
1921         Reviewed by Simon Fraser.
1922
1923         When node is getting destroyed and its removedFromDocument
1924         is not called due to entire document structure torn down(using
1925         removeAllChildren), make sure to clear out the stylesheet
1926         candidate node from document's structures in its destructor.
1927
1928         Test: svg/dom/stylesheet-candidate-node-crash-main.html
1929
1930         * dom/ProcessingInstruction.cpp:
1931         (WebCore::ProcessingInstruction::~ProcessingInstruction):
1932         * html/HTMLLinkElement.cpp:
1933         (WebCore::HTMLLinkElement::~HTMLLinkElement):
1934         * html/HTMLStyleElement.cpp:
1935         (WebCore::HTMLStyleElement::~HTMLStyleElement):
1936         * svg/SVGStyleElement.cpp:
1937         (WebCore::SVGStyleElement::~SVGStyleElement):
1938
1939 2011-08-17  Sam White  <samuel.white@rochester.edu>
1940
1941         AccessibilityObject levels are inconsistent
1942         https://bugs.webkit.org/show_bug.cgi?id=66180
1943         
1944         Updated accessibilityTable to return level values consistent with other accessibilityObjects that
1945         return level values. This means a value of 0 is now only returned when tableLevel() is called on a
1946         non-table element.
1947
1948         Reviewed by Chris Fleizach.
1949
1950         Test: platform/mac/accessibility/element-level.html
1951
1952         * accessibility/AccessibilityTable.cpp:
1953         (WebCore::AccessibilityTable::tableLevel):
1954         * accessibility/mac/AccessibilityObjectWrapper.mm:
1955         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1956
1957 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
1958
1959         An arrow key collapses directionless selection range in the wrong direction in BiDi
1960         https://bugs.webkit.org/show_bug.cgi?id=64626
1961
1962         Reviewed by Darin Adler.
1963
1964         The bug was caused by willBeModified's always using block direction to determine
1965         the direction to which the selection is collapsed. Fixed the bug by calling directionOfSelection
1966         in willBeModified, which will return the text direction of the surrounding context when
1967         the start and the end have the same direction. When the text directions at the start and at the end
1968         of selection do not match, it uses the block's text direction.
1969
1970         Test: editing/selection/collapse-selection-in-bidi.html
1971
1972         * editing/FrameSelection.cpp:
1973         (WebCore::FrameSelection::directionOfSelection): Added.
1974         (WebCore::FrameSelection::willBeModified): Calls directionOfSelection.
1975         (WebCore::FrameSelection::modifyMovingRight): Ditto.
1976         (WebCore::FrameSelection::modifyMovingLeft): Ditto.
1977         * editing/FrameSelection.h:
1978
1979 2011-08-17  Jeff Miller  <jeffm@apple.com>
1980
1981         Some AVFoundation source files should be in platform-specific directories
1982         https://bugs.webkit.org/show_bug.cgi?id=66352
1983         
1984         Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf,
1985         and moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
1986         
1987         While I was at it, added svn:eol-style property to the MediaPlayerPrivateAVFoundationObjC.* files.
1988         
1989         Also, for some reason, Visual Studio decided to re-sort a couple files in \inspector\front-end\ in WebCore.vcproj, even though
1990         I just re-sorted the project in r93215.
1991
1992         Reviewed by Eric Carlson.
1993
1994         No new tests; no functional change.
1995
1996         * WebCore.vcproj/WebCore.vcproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf.
1997
1998         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added $(ProjectDir)..\platform\graphics\avfoundation\cf to include paths.
1999
2000         * WebCore.xcodeproj/project.pbxproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
2001
2002         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Removed.
2003         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Removed.
2004         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Removed.
2005         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Removed.
2006
2007         * platform/graphics/avfoundation/cf: Added.
2008         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp.
2009         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h.
2010
2011         * platform/graphics/avfoundation/objc: Added.
2012         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h.
2013         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm.
2014
2015 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
2016
2017         Only set m_fontDirty if TextSizeAdjust is actually changed.
2018         https://bugs.webkit.org/show_bug.cgi?id=66022
2019
2020         Reviewed by Darin Adler.
2021
2022         No new tests. Refactoring only.
2023
2024         Reduces instances where the font information is dirtied to save recalculation where it is not necessary.
2025
2026         * css/CSSStyleSelector.cpp:
2027         (WebCore::CSSStyleSelector::applyProperty):
2028         Call new setTextSizeAdjust function.
2029         * css/CSSStyleSelector.h:
2030         (WebCore::CSSStyleSelector::setTextSizeAdjust):
2031         Add wrapper for RenderStyle::setTextSizeAdjust() that automatically updates m_fontDirty.
2032         * rendering/style/RenderStyle.h:
2033         (WebCore::RenderStyle::setTextSizeAdjust):
2034         Make setTextSizeAdjust return true if the unlderlying value was changed.
2035
2036 2011-08-17  Kenichi Ishibashi  <bashi@chromium.org>
2037
2038         [Chromium] Crash in HarfbuzzFace::~HarfbuzzFace
2039         https://bugs.webkit.org/show_bug.cgi?id=66211
2040
2041         Holds Skia's unique font ID instead of FontPlatformData to avoid accessing freed FontPlatformData.
2042
2043         Reviewed by Tony Chang.
2044
2045         No new tests; no functional change.
2046
2047         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2048         (WebCore::releaseCachedHarfbuzzFace): Changed the argument.
2049         (WebCore::HarfbuzzFace::HarfbuzzFace): Changed to have Skia's font uniqueID instead of FontPlatformData.
2050         (WebCore::HarfbuzzFace::~HarfbuzzFace): Uses m_uniqueID to call releaseCachedHarfbuzzFace.
2051         * platform/graphics/chromium/HarfbuzzSkia.h:
2052
2053 2011-08-17  Jeff Miller  <jeffm@apple.com>
2054
2055         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
2056
2057         * WebCore.vcproj/WebCore.vcproj:
2058
2059 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
2060
2061         Chromium Mac: Fix implementation of wkScrollbarMinimumTotalLengthNeededForThumb to match WebKitSystemInterface
2062         https://bugs.webkit.org/show_bug.cgi?id=66311
2063
2064         Reviewed by Dimitri Glazkov.
2065
2066         Updated wkScrollbarMinimumTotalLengthNeededForThumb() based on the latest disassembly of libWebKitSystemInterfaceLion.a.
2067
2068         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2069         (wkScrollbarMinimumTotalLengthNeededForThumb):
2070
2071 2011-08-17  Steve Block  <steveblock@google.com>
2072
2073         Unreviewed, rolling out r93186.
2074         http://trac.webkit.org/changeset/93186
2075         https://bugs.webkit.org/show_bug.cgi?id=66114
2076
2077         Breaks LayoutTests on Chromium canary bots
2078
2079         * platform/graphics/chromium/LayerChromium.h:
2080         * platform/graphics/chromium/LayerRendererChromium.cpp:
2081         (WebCore::LayerRendererChromium::updateLayers):
2082         (WebCore::LayerRendererChromium::drawLayersInternal):
2083         (WebCore::LayerRendererChromium::drawLayer):
2084         * platform/graphics/chromium/cc/CCLayerImpl.h:
2085
2086 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
2087
2088         Get rid of calls to deprecatedNode and deprecatedEditingOffset in
2089         AccessibilityRenderObject.cpp and InsertTextCommand.cpp
2090         https://bugs.webkit.org/show_bug.cgi?id=66014
2091
2092         Reviewed by Hajime Morita.
2093
2094         Removed calls to deprecatedNode and deprecatedEditingOffsets in the following files.
2095
2096         * accessibility/AccessibilityRenderObject.cpp:
2097         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls Position::rootEditableElement
2098         and Range::setEnd(const Position&, ExceptionCode) instead of manually pulling deprecatedNode
2099         and deprecatedEditingOffset.
2100         (WebCore::AccessibilityRenderObject::index): Abstracted the logic to loop through render objects
2101         from deprecatedNodes' renderer to m_renderer as renderObjectContainsPosition.
2102         * dom/Position.h:
2103         (WebCore::Position::rootEditableElement): Added.
2104         * dom/Range.cpp:
2105         (WebCore::Range::setStart): Added.
2106         (WebCore::Range::setEnd): Added.
2107         * dom/Range.h:
2108         * editing/InsertTextCommand.cpp:
2109         (WebCore::InsertTextCommand::insertTab):
2110         * editing/RenderedPosition.cpp:
2111         (WebCore::renderObjectContainsPosition): Extracted from AccessibilityRenderObject::index.
2112         * editing/RenderedPosition.h:
2113
2114 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
2115
2116         Chromium Mac: Fix issue where scrollbar wouldn't be drawn until page finished loading
2117         https://bugs.webkit.org/show_bug.cgi?id=66238
2118
2119         Reviewed by Dimitri Glazkov.
2120
2121         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:
2122           1. -[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:] is called
2123           2. animation is delayed because shouldSuspendScrollAnimations() is true
2124           3. ScrollAnimatorChromiumMac::scroll() is called before the ScrollAnimatorChromiumMac::m_initialScrollbarPaintTimer is fired.
2125           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.
2126         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.
2127
2128         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.
2129
2130         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2131         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
2132         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2133         (wkScrollbarPainterForceFlashScrollers):
2134
2135 2011-08-16  Andrey Kosyakov  <caseq@chromium.org>
2136
2137         Web Inspector: maintain visible view hierarchy and dispatch common view events automatically
2138         https://bugs.webkit.org/show_bug.cgi?id=66131
2139
2140         Reviewed by Pavel Feldman.
2141
2142         Test: inspector/view-events.html
2143
2144         - added a notion of an optional parent to a View
2145         - maintain a list of View children
2146         - dispatch common view events, such as show/hide/resize automatically through the hierarchy of visible views.
2147         - promoted Panel's logic of (re)storing scroll positions to view
2148         - demoted inheritScrollPositionFromView to a couple of views that need it.
2149
2150         * inspector/front-end/ApplicationCacheItemsView.js:
2151         (WebInspector.ApplicationCacheItemsView.prototype.onResize):
2152         * inspector/front-end/ConsoleView.js:
2153         (WebInspector.ConsoleView.prototype.populateStatusBar):
2154         (WebInspector.ConsoleView.prototype.elementsToRestoreScrollPositionsFor):
2155         * inspector/front-end/CookieItemsView.js:
2156         (WebInspector.CookieItemsView.prototype.onResize):
2157         (WebInspector.SimpleCookiesTable.prototype.onResize):
2158         * inspector/front-end/DOMStorageItemsView.js:
2159         (WebInspector.DOMStorageItemsView.prototype.onResize):
2160         * inspector/front-end/DetailedHeapshotView.js:
2161         (WebInspector.DetailedHeapshotView.prototype.onResize):
2162         * inspector/front-end/Drawer.js:
2163         (WebInspector.Drawer.prototype.set visibleView):
2164         (WebInspector.Drawer.prototype.show):
2165         (WebInspector.Drawer.prototype.hide):
2166         (WebInspector.Drawer.prototype.onResize):
2167         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
2168         (WebInspector.Drawer.prototype._animateDrawerHeight):
2169         (WebInspector.Drawer.prototype._statusBarDragging):
2170         (WebInspector.Drawer.prototype._endStatusBarDragging):
2171         * inspector/front-end/ElementsPanel.js:
2172         (WebInspector.ElementsPanel.prototype.onResize):
2173         * inspector/front-end/ExtensionPanel.js:
2174         * inspector/front-end/FontView.js:
2175         (WebInspector.FontView.prototype.onResize):
2176         * inspector/front-end/IFrameView.js:
2177         (WebInspector.IFrameView):
2178         * inspector/front-end/NetworkItemView.js:
2179         (WebInspector.NetworkItemView.prototype._installHighlightSupport):
2180         * inspector/front-end/NetworkPanel.js:
2181         (WebInspector.NetworkLogView):
2182         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
2183         (WebInspector.NetworkLogView.prototype.onResize):
2184         (WebInspector.NetworkLogView.prototype.wasShown):
2185         (WebInspector.NetworkLogView.prototype.willHide):
2186         (WebInspector.NetworkPanel):
2187         (WebInspector.NetworkPanel.prototype.show):
2188         (WebInspector.NetworkPanel.prototype._showResource):
2189         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
2190         * inspector/front-end/Panel.js:
2191         (WebInspector.Panel.prototype.show):
2192         (WebInspector.Panel.prototype.hide):
2193         (WebInspector.Panel.prototype.performSearch.processChunk):
2194         (WebInspector.Panel.prototype.performSearch):
2195         (WebInspector.Panel.prototype.updateSidebarWidth):
2196         * inspector/front-end/PanelEnablerView.js:
2197         (WebInspector.PanelEnablerView.prototype.show):
2198         (WebInspector.PanelEnablerView.prototype.onResize):
2199         * inspector/front-end/ProfileView.js:
2200         (WebInspector.CPUProfileView.prototype.onResize):
2201         * inspector/front-end/ProfilesPanel.js:
2202         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
2203         * inspector/front-end/ResourceCookiesView.js:
2204         (WebInspector.ResourceCookiesView.prototype.onResize):
2205         * inspector/front-end/ResourcePreviewView.js:
2206         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
2207         * inspector/front-end/ResourceResponseView.js:
2208         (WebInspector.ResourceResponseView.prototype.contentLoaded):
2209         * inspector/front-end/ResourceTimingView.js:
2210         (WebInspector.ResourceTimingView.prototype.show):
2211         * inspector/front-end/ResourcesPanel.js:
2212         (WebInspector.ResourcesPanel.prototype.show):
2213         (WebInspector.ResourcesPanel.prototype._innerShowView):
2214         (WebInspector.ResourcesPanel.prototype.closeVisibleView):
2215         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
2216         (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
2217         * inspector/front-end/ScriptsPanel.js:
2218         (WebInspector.ScriptsPanel.prototype.show):
2219         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2220         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2221         (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
2222         * inspector/front-end/SourceFrame.js:
2223         (WebInspector.SourceFrame):
2224         (WebInspector.SourceFrame.prototype.show):
2225         (WebInspector.SourceFrame.prototype.willHide):
2226         (WebInspector.SourceFrame.prototype.clearMessages):
2227         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
2228         (WebInspector.SourceFrame.prototype.inheritScrollPositions):
2229         * inspector/front-end/TabbedPane.js:
2230         (WebInspector.TabbedPane.prototype.appendTab):
2231         * inspector/front-end/TextViewer.js:
2232         (WebInspector.TextViewer.prototype.elementsToRestoreScrollPositionsFor):
2233         (WebInspector.TextViewer.prototype.inheritScrollPositions):
2234         (WebInspector.TextViewer.prototype.onResize):
2235         * inspector/front-end/TimelinePanel.js:
2236         (WebInspector.TimelinePanel.prototype.onResize):
2237         (WebInspector.TimelinePanel.prototype.elementsToRestoreScrollPositionsFor):
2238         (WebInspector.TimelinePanel.prototype.show):
2239         * inspector/front-end/View.js:
2240         (WebInspector.View):
2241         (WebInspector.View.prototype.wasShown):
2242         (WebInspector.View.prototype.willHide):
2243         (WebInspector.View.prototype._innerShow):
2244         (WebInspector.View.prototype.show):
2245         (WebInspector.View.prototype._innerHide):
2246         (WebInspector.View.prototype.hide):
2247         (WebInspector.View.prototype._detach):
2248         (WebInspector.View.prototype.elementsToRestoreScrollPositionsFor):
2249         (WebInspector.View.prototype.storeScrollPositions):
2250         (WebInspector.View.prototype.restoreScrollPositions):
2251         (WebInspector.View.prototype.addChildView):
2252         (WebInspector.View.prototype.removeChildView):
2253         (WebInspector.View.prototype.onResize):
2254         (WebInspector.View.prototype.doResize):
2255         (WebInspector.View.prototype.dispatchToSelfAndVisibleChildren):
2256         (WebInspector.View.prototype.dispatchToVisibleChildren):
2257         * inspector/front-end/inspector.js:
2258         (WebInspector.windowResize):
2259
2260 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
2261
2262         Represent RenderStyle::textOverflow property using an enum instead of a bool.
2263         https://bugs.webkit.org/show_bug.cgi?id=66356
2264
2265         Reviewed by Dan Bernstein.
2266
2267         No new tests - no behavioral changes.
2268
2269         * css/CSSPrimitiveValueMappings.h:
2270         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2271         Support cast from TextOverflow to CSSPrimitiveValue.
2272         (WebCore::CSSPrimitiveValue::operator TextOverflow):
2273         Support cast from CSSPrimitiveValue to TextOverflow.
2274         * css/CSSStyleSelector.cpp:
2275         (WebCore::CSSStyleSelector::applyProperty):
2276         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for text overflow.
2277         * rendering/style/RenderStyle.h:
2278         (WebCore::InheritedFlags::textOverflow):
2279         Return TextOverflow enum.
2280         (WebCore::InheritedFlags::setTextOverflow):
2281         Accept TextOverflow enum parameter.
2282         (WebCore::InheritedFlags::initialTextOverflow):
2283         Return TextOverflowClip.
2284         * rendering/style/RenderStyleConstants.h:
2285         Define TextOverflow enum.
2286         * rendering/style/StyleRareNonInheritedData.h:
2287         Change representation of text overflow from bool to one-bit unsigned.
2288
2289 2011-08-16  Jeff Miller  <jeffm@apple.com>
2290
2291         Apple's Windows production build should fail to compile if AVFoundation is not enabled
2292         https://bugs.webkit.org/show_bug.cgi?id=66339
2293         
2294         Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
2295
2296         Reviewed by Darin Adler.
2297
2298         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
2299
2300 2011-08-16  David Levin  <levin@chromium.org>
2301
2302         REGRESSION (r89086): All worker xhr requests trigger preflight requests.
2303         https://bugs.webkit.org/show_bug.cgi?id=66340
2304
2305         Reviewed by Adam Barth.
2306
2307         Test coming in a more comprehensive patch shortly. This is just a very targetted
2308         patch to allow for easier merging.
2309
2310         * loader/CrossOriginAccessControl.cpp:
2311         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Add referer to the list
2312         of whitelisted headers. It can't be set by xhr so it is ok to whitelist it, but it is
2313         set before calling this function. This is similar to what is done for "origin" in here.
2314
2315 2011-08-16  Shawn Singh  <shawnsingh@chromium.org>
2316
2317         Computing screen-space transform for LayerChromium and CCLayerImpl
2318         https://bugs.webkit.org/show_bug.cgi?id=66114
2319
2320         Reviewed by James Robinson.
2321
2322         Test: compositing/backface-visibility-hierarchical-transform.html
2323
2324         Added a data member to LayerChromium and CCLayerImpl that holds
2325         the screen-space transform.   The transform is computed in
2326         calculateDrawTransformsAndVisibility(), which is used during
2327         updating (LayerChromium) and drawing (CCLayerImpl).  This transform
2328         will also be used for other things, such as HUD drawing, in upcoming
2329         patches.
2330
2331         Also fixed a FIXME in LayerRendererChromium::drawLayer, which
2332         was not computing the entire hierarchy of transforms to determine
2333         back-face visibility.  Now it simply uses the screen space transform.
2334
2335         * platform/graphics/chromium/LayerChromium.h:
2336         (WebCore::LayerChromium::screenSpaceDrawTransform):
2337         (WebCore::LayerChromium::setScreenSpaceDrawTransform):
2338         * platform/graphics/chromium/LayerRendererChromium.cpp:
2339         (WebCore::LayerRendererChromium::updateLayers):
2340         (WebCore::LayerRendererChromium::drawLayersInternal):
2341         (WebCore::LayerRendererChromium::drawLayer):
2342         (WebCore::calculateDrawTransformsAndVisibility):
2343         * platform/graphics/chromium/cc/CCLayerImpl.h:
2344         (WebCore::CCLayerImpl::screenSpaceDrawTransform):
2345         (WebCore::CCLayerImpl::setScreenSpaceDrawTransform):
2346
2347 2011-08-16  Hayato Ito  <hayato@chromium.org>
2348
2349         Implement proper handling of events which happen in children of shadow hosts.
2350         https://bugs.webkit.org/show_bug.cgi?id=66285
2351
2352         Reviewed by Dimitri Glazkov.
2353
2354         Fix the issue where a shadow host stops an event propagation if an
2355         event happens at the children of shadow hosts, outside of the shadow root.
2356
2357         Test: fast/dom/shadow/shadow-contents-event.html
2358
2359         * dom/EventDispatcher.cpp:
2360         (WebCore::EventDispatcher::adjustToShadowBoundaries):
2361
2362 2011-08-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
2363
2364         Make it possible to explicitly prevent a preflight via ThreadableLoaderOptions
2365         https://bugs.webkit.org/show_bug.cgi?id=65694
2366
2367         Reviewed by Alexey Proskuryakov.
2368
2369         No new tests since there is no change in behavior.
2370
2371         * fileapi/FileReaderLoader.cpp:
2372         (WebCore::FileReaderLoader::start):
2373         * loader/DocumentThreadableLoader.cpp:
2374         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2375         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
2376         * loader/ThreadableLoader.h:
2377         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
2378         * notifications/Notification.cpp:
2379         (WebCore::Notification::startLoading):
2380         * xml/XMLHttpRequest.cpp:
2381         (WebCore::XMLHttpRequest::createRequest):
2382
2383 2011-08-16  Scott Byer  <scottbyer@chromium.org>
2384
2385         Fix spelling error.
2386         https://bugs.webkit.org/show_bug.cgi?id=66261
2387
2388         Reviewed by Adam Barth.
2389
2390         No functional change, no tests needed.
2391
2392         * platform/ScrollAnimator.cpp:
2393         (WebCore::ScrollAnimator::scroll):
2394         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
2395         (WebCore::ScrollAnimator::notifyPositionChanged):
2396         * platform/ScrollAnimator.h:
2397         * platform/ScrollAnimatorNone.cpp:
2398         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
2399         (WebCore::ScrollAnimatorNone::animationTimerFired):
2400         * platform/ScrollAnimatorWin.cpp:
2401         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
2402         (WebCore::ScrollAnimatorWin::animateScroll):
2403         * platform/chromium/ScrollAnimatorChromiumMac.h:
2404         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2405         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
2406         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
2407         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
2408         (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
2409         * platform/mac/ScrollAnimatorMac.h:
2410         * platform/mac/ScrollAnimatorMac.mm:
2411         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2412         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2413         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2414         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2415
2416 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2417
2418         ASSERT in fast/css/custom-font-xheight.html
2419         https://bugs.webkit.org/show_bug.cgi?id=66328
2420
2421         Reviewed by Dan Bernstein.
2422
2423         In r93140 the temporary font created for a remote CSS font face
2424         was created without being retained. We need to protect the
2425         font from being purged while we hold onto it, so add a font cache
2426         purge preventer.
2427
2428         * css/CSSFontFaceSource.cpp:
2429         (WebCore::CSSFontFaceSource::getFontData):
2430
2431 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2432
2433         Unreviewed Chromium Windows build fix after r93140. Take 4.
2434         Namespace the now public enum as FontCache::ShouldRetain.
2435
2436         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2437         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
2438
2439 2011-08-15  Stephen White  <senorblanco@chromium.org>
2440
2441         Canvas resizing can be slow
2442         https://bugs.webkit.org/show_bug.cgi?id=66251
2443
2444         Canvas resizing was slow due to re-allocation of the ImageBuffer on
2445         each size change (width or height).  This was introduced inadvertently
2446         by calls to isAccelerated() during canvas reset().  Since we won't 
2447         know if we have successfully accelerated until ImageBuffer creation,
2448         move the compositor invalidation to createImageBuffer() as well.
2449         This patch also attempts to unify the Skia and CG accelerated canvas
2450         paths.  The DrawingBuffer used by the Skia path is now owned by 
2451         ImageBuffer[Skia], similar to how the IOSurface is owned by
2452         ImageBuffer[CG].  Some of the logic for when to accelerate was moved
2453         into HTMLCanvasElement and unified with the CG path.  Acceleration is
2454         also now enabled by the same "Accelerated" ImageBuffer create flag
2455         used by the CG path.  DrawingBuffer is now re-created even for a 
2456         same-size change (same as the memory buffer), but we speed it up
2457         by calling GraphicsContext3D::texImage2D() with a NULL pixels ptr
2458         instead of GraphicsContext3D::teximage2DResourceSafe() (no need to
2459         clear it, since it's done with a glClear anyway).
2460
2461         Reviewed by Kenneth Russell.
2462
2463         Covered by existing tests in fast/canvas and canvas/philip.
2464
2465         * html/HTMLCanvasElement.cpp:
2466         (WebCore::HTMLCanvasElement::reset):
2467         Don't call isAccelerated() from reset(), since we don't want to
2468         inadvertently create the ImageBuffer.  Also, since we won't know if
2469         we have successfully accelerated until createImageBuffer() is
2470         called, defer the compositor invalidation to createImageBuffer() as
2471         well.
2472         (WebCore::HTMLCanvasElement::shouldAccelerate):
2473         Unify the CG and Skia ports' logic for when to accelerate (Skia
2474         logic moved in from CanvasRenderingContext2D).
2475         (WebCore::HTMLCanvasElement::createImageBuffer):
2476         Use the unified shouldAccelerate() logic, and pass it as a flag
2477         to ImageBuffer.  Do compositor invalidation as well.
2478         * html/HTMLCanvasElement.h:
2479         (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
2480         Expose hasCreatedImageBuffer() publically, so
2481         CanvasRenderingContext2D::isAccelerated() doesn't inadvertently create
2482         it.
2483         * html/canvas/CanvasRenderingContext2D.cpp:
2484         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2485         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2486         Remove all acceleration setting and resetting, since it's now done
2487         during ImageBuffer creation.
2488         (WebCore::CanvasRenderingContext2D::isAccelerated):
2489         Check if the image buffer was created, so we don't inadvertently
2490         create it here.
2491         (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
2492         Don't call GraphicsContext3D::paintsIntoCanvasBuffer(), since its
2493         WebViewImpl may be null.  Ask the render tree instead.
2494         (WebCore::CanvasRenderingContext2D::reset):
2495         Don't reset acceleration here, since we don't own it anymore.
2496         (WebCore::CanvasRenderingContext2D::platformLayer):
2497         Call into the ImageBuffer to get our PlatformLayer.
2498         * html/canvas/CanvasRenderingContext2D.h:
2499         Remove m_drawingBuffer, and all acceleration-related calls.
2500         * platform/graphics/GraphicsContext.cpp:
2501         * platform/graphics/GraphicsContext.h:
2502         Remove setGraphicsContext3D(), and paintsIntoImageBuffer().
2503         * platform/graphics/ImageBuffer.cpp:
2504         (WebCore::ImageBuffer::platformLayer):
2505         Implement a dummy platformLayer() call for non-skia ports.
2506         * platform/graphics/ImageBuffer.h:
2507         Declare a platformLayer() call (USE(ACCELERATED_COMPOSITING) only).
2508         * platform/graphics/chromium/ImageBufferDataSkia.h:
2509         Add a DrawingBuffer data member.
2510         * platform/graphics/gpu/DrawingBuffer.cpp:
2511         (WebCore::DrawingBuffer::reset):
2512         Use texImage2D() with a NULL ptr, not texImage2DResourceSafe().
2513         Since we immediately clear the framebuffer via glClear(), this whole
2514         resource safe business is overkill.
2515         * platform/graphics/skia/GraphicsContextSkia.cpp:
2516         Remove setGraphicsContext3D() and paintsIntoImageBuffer().  This
2517         functionality is handled by ImageBuffer now.
2518         * platform/graphics/skia/ImageBufferSkia.cpp:
2519         (WebCore::ImageBuffer::ImageBuffer):
2520         Give the ImageBufferData ownership of the DrawingBuffer.
2521         (WebCore::ImageBuffer::platformLayer):
2522         Implement an accessor for the DrawingBuffer's PlatformLayer.
2523         * platform/graphics/skia/PlatformContextSkia.cpp:
2524         (WebCore::PlatformContextSkia::setGraphicsContext3D):
2525         * platform/graphics/skia/PlatformContextSkia.h:
2526         Remove isPathSkiaSafe() extern (unused).
2527         Remove paintsIntoImageBuffer() (now unused).  Remove IntSize param
2528         from setGraphicsContext3D() (unused).
2529
2530 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2531
2532         Unreviewed Chromium Windows build fix after r93140. Take 3.
2533         Include the proper includes!
2534
2535         * platform/graphics/FontCache.h:
2536
2537 2011-08-16  Mihnea Ovidenie  <mihnea@adobe.com>
2538
2539         Unmatrix algorithm implementation is wrong
2540         https://bugs.webkit.org/show_bug.cgi?id=66080
2541
2542         Reviewed by Dean Jackson.
2543
2544         Current version of the algorithm negates only the scaleX while
2545         it should negate also scaleY and scaleZ when appropriate.
2546
2547         Test: animations/animation-matrix-negative-scale-unmatrix.html
2548
2549         * platform/graphics/transforms/TransformationMatrix.cpp:
2550         (WebCore::decompose):
2551
2552 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2553
2554         Unreviewed Chromium Windows build fix after r93140.
2555
2556         This just makes the troublesome enum public. If this
2557         fixes the build I will file a follow-up bug to clean-up
2558         these build issues and either keep the enum public and
2559         cleanup other functions or restore the enum to private.
2560         There is no harm in making the enum public right now.
2561
2562         * platform/graphics/FontCache.h:
2563
2564 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2565
2566         Unreviewed Chromium Windows build fix after r93140.
2567
2568         * platform/graphics/FontCache.h:
2569
2570 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2571
2572         Unreviewed Windows and Chromium Windows build fix after r93140.
2573
2574         * platform/graphics/FontCache.h:
2575         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2576         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2577         (WebCore::getLastResortFallbackFontProc):
2578         (WebCore::FontCache::getLastResortFallbackFont):
2579         * platform/graphics/win/FontCacheWin.cpp:
2580         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2581         (WebCore::FontCache::getLastResortFallbackFont):
2582
2583 2011-08-16  Adam Roben  <aroben@apple.com>
2584
2585         Make placeholder text remain visible until a character is typed on Windows
2586
2587         Fixes <http://webkit.org/b/66319> Placeholder text in text fields disappears when the field
2588         is focused on Windows, which doesn't match Lion or Windows native text fields
2589
2590         Covered by existing tests (which are currently failing on the bots until this patch lands).
2591
2592         Reviewed by Dave Hyatt.
2593
2594         * rendering/RenderThemeSafari.h:
2595         (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused):
2596         * rendering/RenderThemeWin.h:
2597         (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
2598         Added overrides to return true.
2599
2600 2011-08-16  David Hyatt  <hyatt@apple.com>
2601
2602         https://bugs.webkit.org/show_bug.cgi?id=66254
2603
2604         Make region invalidation and repainting work properly. We do this by making RenderFlowThreads into
2605         repaint containers and then issuing new repaints in the regions that contain the invalidated flow thread
2606         content.
2607
2608         Reviewed by Simon Fraser.
2609
2610         Added new tests in fast/repaint.
2611
2612         * rendering/RenderFlowThread.cpp:
2613         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2614         * rendering/RenderFlowThread.h:
2615         * rendering/RenderObject.cpp:
2616         (WebCore::RenderObject::enclosingRenderFlowThread):
2617         (WebCore::RenderObject::containerForRepaint):
2618         (WebCore::RenderObject::repaintUsingContainer):
2619         * rendering/RenderObject.h:
2620         * rendering/RenderView.cpp:
2621         (WebCore::RenderView::RenderView):
2622         (WebCore::RenderView::renderFlowThreadWithName):
2623         * rendering/RenderView.h:
2624         (WebCore::RenderView::hasRenderFlowThreads):
2625
2626 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2627
2628         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
2629         https://bugs.webkit.org/show_bug.cgi?id=66153
2630
2631         Reviewed by Dan Bernstein.
2632
2633         While a remote CSS font face is loading we fallback to a
2634         temporary font. We don't want to retain the fallback font
2635         because noone takes ownership of the temporary font. This
2636         patch adds a way to get an uncached fallback font, which
2637         plumbs the ShouldRetain enum through the different platform
2638         implementations of getLastResortFallbackFont.
2639
2640         No new tests, no functional change.
2641
2642         * css/CSSFontFaceSource.cpp:
2643         (WebCore::CSSFontFaceSource::getFontData):
2644         * platform/graphics/FontCache.cpp:
2645         (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
2646         * platform/graphics/FontCache.h:
2647         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2648         (WebCore::fontDataFromDescriptionAndLogFont):
2649         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
2650         (WebCore::getLastResortFallbackFontProc):
2651         (WebCore::FontCache::getLastResortFallbackFont):
2652         * platform/graphics/chromium/FontCacheLinux.cpp:
2653         (WebCore::FontCache::getLastResortFallbackFont):
2654         * platform/graphics/freetype/FontCacheFreeType.cpp:
2655         (WebCore::FontCache::getLastResortFallbackFont):
2656         * platform/graphics/haiku/FontCacheHaiku.cpp:
2657         (WebCore::FontCache::getLastResortFallbackFont):
2658         * platform/graphics/mac/FontCacheMac.mm:
2659         (WebCore::FontCache::getLastResortFallbackFont):
2660         * platform/graphics/pango/FontCachePango.cpp:
2661         (WebCore::FontCache::getLastResortFallbackFont):
2662         * platform/graphics/qt/FontCacheQt.cpp:
2663         (WebCore::FontCache::getLastResortFallbackFont):
2664         * platform/graphics/win/FontCacheWin.cpp:
2665         (WebCore::fontDataFromDescriptionAndLogFont):
2666         (WebCore::FontCache::getLastResortFallbackFont):
2667         * platform/graphics/wince/FontCacheWinCE.cpp:
2668         * platform/graphics/wx/FontCacheWx.cpp:
2669         (WebCore::FontCache::getLastResortFallbackFont):
2670
2671 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
2672
2673         Chromium Mac: Rubber banding gutter drawing
2674         https://bugs.webkit.org/show_bug.cgi?id=66226
2675
2676         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
2677         draw the overhang areas.
2678         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
2679         Add a different implementation for Chromium Mac.
2680
2681         Reviewed by Dimitri Glazkov.
2682
2683         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
2684
2685         * platform/ScrollView.cpp:
2686         (WebCore::ScrollView::wheelEvent):
2687         * platform/ScrollbarTheme.h:
2688         (WebCore::ScrollbarTheme::paintOverhangAreas):
2689         * platform/ScrollbarThemeComposite.cpp:
2690         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
2691         * platform/ScrollbarThemeComposite.h:
2692         * platform/chromium/ScrollbarThemeChromiumMac.h:
2693         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2694         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2695         (WebCore::scrollbarStateToThemeState):
2696         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2697         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
2698
2699 2011-08-12  Wyatt Carss  <wcarss@chromium.org>
2700
2701         Programmatically set selection should not have direction on Mac
2702         https://bugs.webkit.org/show_bug.cgi?id=60529
2703
2704         Reviewed by Ryosuke Niwa.
2705
2706         Modified default value of VisibleSelection->m_isDirectional from 'true'
2707         to 'false' by adding a defaulted argument to several VisibleSelection 
2708         constructors to make programmatic selection be directionless by default 
2709         on Mac. Also modified several calls to VisibleSelection's constructors
2710         to correctly preserve directionality.
2711         
2712         Near the end of FrameSelection::modify (presently FrameSelection.cpp:869)
2713         a call to setExtent triggers an editing delegate that uses the
2714         FrameSelection. The direction here should have been preserved from before,
2715         but setIsDirectional was not called until after FrameSelection.cpp:869. It
2716         has been moved up to make things behave.
2717
2718         * WebCore.exp.in:
2719         * editing/ApplyBlockElementCommand.cpp:
2720         (WebCore::ApplyBlockElementCommand::doApply):
2721         (WebCore::ApplyBlockElementCommand::formatSelection):
2722         * editing/ApplyStyleCommand.cpp:
2723         (WebCore::ApplyStyleCommand::updateStartEnd):
2724         * editing/BreakBlockquoteCommand.cpp:
2725         (WebCore::BreakBlockquoteCommand::doApply):
2726         * editing/CompositeEditCommand.cpp:
2727         (WebCore::CompositeEditCommand::moveParagraphWithClones):
2728         (WebCore::CompositeEditCommand::moveParagraphs):
2729         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2730         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2731         * editing/CreateLinkCommand.cpp:
2732         (WebCore::CreateLinkCommand::doApply):
2733         * editing/DeleteSelectionCommand.cpp:
2734         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
2735         (WebCore::DeleteSelectionCommand::doApply):
2736         * editing/Editor.cpp:
2737         (WebCore::Editor::selectionForCommand):
2738         * editing/FrameSelection.cpp:
2739         (WebCore::shouldAlwaysUseDirectionalSelection):
2740         (WebCore::FrameSelection::FrameSelection):
2741         (WebCore::FrameSelection::moveTo):
2742         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
2743         (WebCore::FrameSelection::modify):
2744         (WebCore::FrameSelection::setBase):
2745         (WebCore::FrameSelection::setExtent):
2746         * editing/FrameSelection.h:
2747         * editing/InsertLineBreakCommand.cpp:
2748         (WebCore::InsertLineBreakCommand::doApply):
2749         * editing/InsertListCommand.cpp:
2750         (WebCore::InsertListCommand::doApply):
2751         * editing/InsertParagraphSeparatorCommand.cpp:
2752         (WebCore::InsertParagraphSeparatorCommand::doApply):
2753         * editing/InsertTextCommand.cpp:
2754         (WebCore::InsertTextCommand::performTrivialReplace):
2755         (WebCore::InsertTextCommand::doApply):
2756         * editing/MoveSelectionCommand.cpp:
2757         (WebCore::MoveSelectionCommand::doApply):
2758         * editing/ReplaceSelectionCommand.cpp:
2759         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
2760         * editing/TypingCommand.cpp:
2761         (WebCore::TypingCommand::makeEditableRootEmpty):
2762         (WebCore::TypingCommand::deleteKeyPressed):
2763         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2764         * editing/VisibleSelection.cpp:
2765         (WebCore::VisibleSelection::VisibleSelection):
2766         * editing/VisibleSelection.h:
2767         * page/EventHandler.cpp:
2768         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
2769         (WebCore::EventHandler::updateSelectionForMouseDrag):
2770
2771 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
2772
2773         New XML parser: Add document fragment parser
2774         https://bugs.webkit.org/show_bug.cgi?id=66317
2775
2776         Reviewed by Adam Barth.
2777
2778         * dom/DocumentFragment.cpp:
2779         (WebCore::DocumentFragment::parseXML):
2780         * xml/parser/NewXMLDocumentParser.cpp:
2781         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
2782         (WebCore::NewXMLDocumentParser::parseDocumentFragment):
2783         * xml/parser/NewXMLDocumentParser.h:
2784         (WebCore::NewXMLDocumentParser::create):
2785         * xml/parser/XMLTokenizer.h:
2786         * xml/parser/XMLTreeBuilder.cpp:
2787         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
2788         (WebCore::XMLTreeBuilder::pushCurrentNode):
2789         * xml/parser/XMLTreeBuilder.h:
2790         (WebCore::XMLTreeBuilder::create):
2791         (WebCore::XMLTreeBuilder::NodeStackItem::node):
2792
2793 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
2794
2795         New XML parser: Replace assertions regarding character data in the prolog with proper checks
2796         https://bugs.webkit.org/show_bug.cgi?id=66269
2797
2798         Reviewed by Adam Barth.
2799
2800         This patch checks for character data in the prolog (which is illegal in XML) and discards it, instead of failing an assertion.
2801
2802         * xml/parser/XMLTreeBuilder.cpp:
2803         (WebCore::XMLTreeBuilder::processProcessingInstruction):
2804         (WebCore::XMLTreeBuilder::processXMLDeclaration):
2805         (WebCore::XMLTreeBuilder::processDOCTYPE):
2806         (WebCore::XMLTreeBuilder::enterText):
2807         (WebCore::XMLTreeBuilder::failOnText):
2808         * xml/parser/XMLTreeBuilder.h:
2809
2810 2011-08-16  Alexander Pavlov  <apavlov@chromium.org>
2811
2812         Web Inspector: word wrap long edits
2813         https://bugs.webkit.org/show_bug.cgi?id=65512
2814
2815         Reviewed by Pavel Feldman.
2816
2817         * inspector/front-end/inspector.css:
2818         (.styles-section .properties li.child-editing):
2819
2820 2011-08-16  Pavel Feldman  <pfeldman@google.com>
2821
2822         Web Inspector: convert DOM breakpoint types to strings.
2823         https://bugs.webkit.org/show_bug.cgi?id=66304
2824
2825         Reviewed by Yury Semikhatsky.
2826
2827         * inspector/Inspector.json:
2828         * inspector/InspectorDOMDebuggerAgent.cpp:
2829         (WebCore::domTypeForName):
2830         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
2831         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
2832         * inspector/InspectorDOMDebuggerAgent.h:
2833         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2834         (WebInspector.DOMBreakpointsSidebarPane):
2835
2836 2011-08-16  Pavel Feldman  <pfeldman@google.com>
2837
2838         Web Inspector: force pseudo element state when checking it in the styles sidebar.
2839         https://bugs.webkit.org/show_bug.cgi?id=66292
2840
2841         This reverts http://trac.webkit.org/changeset/89132 and introduces InspectorInstrumentation
2842         calls from the CSSStyleSelector for pseudo state processing. These calls are very fast:
2843         they are guarded with the inline checks for the front-end count.
2844
2845         Reviewed by David Hyatt.
2846
2847         * css/CSSStyleSelector.cpp:
2848         (WebCore::CSSStyleSelector::initForStyleResolve):
2849         (WebCore::CSSStyleSelector::styleRulesForElement):
2850         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
2851         (WebCore::CSSStyleSelector::checkSelector):
2852         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2853         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2854         * css/CSSStyleSelector.h:
2855         * inspector/InspectorCSSAgent.cpp:
2856         (WebCore::computePseudoClassMask):
2857         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2858         (WebCore::InspectorCSSAgent::clearFrontend):
2859         (WebCore::InspectorCSSAgent::forcePseudoState):
2860         (WebCore::InspectorCSSAgent::getStylesForNode):
2861         (WebCore::InspectorCSSAgent::didRemoveDocument):
2862         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
2863         (WebCore::InspectorCSSAgent::clearPseudoState):
2864         * inspector/InspectorCSSAgent.h:
2865         * inspector/InspectorController.cpp:
2866         (WebCore::InspectorController::disconnectFrontend):
2867         * inspector/InspectorInstrumentation.cpp:
2868         (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
2869         * inspector/InspectorInstrumentation.h:
2870         (WebCore::InspectorInstrumentation::forcePseudoState):
2871
2872 2011-08-16  Tony Chang  <tony@chromium.org>
2873
2874         Unreviewed, rolling out r93114.
2875         http://trac.webkit.org/changeset/93114
2876         https://bugs.webkit.org/show_bug.cgi?id=66226
2877
2878         broke the chromium mac compile
2879
2880         * platform/ScrollView.cpp:
2881         (WebCore::ScrollView::wheelEvent):
2882         * platform/ScrollbarTheme.h:
2883         * platform/ScrollbarThemeComposite.cpp:
2884         * platform/ScrollbarThemeComposite.h:
2885         * platform/chromium/ScrollbarThemeChromiumMac.h:
2886         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2887         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2888         (WebCore::scrollbarStateToThemeState):
2889         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2890         * platform/mac/ScrollbarThemeMac.h:
2891
2892 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
2893
2894         Chromium Mac: Rubber banding gutter drawing
2895         https://bugs.webkit.org/show_bug.cgi?id=66226
2896
2897         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
2898         draw the overhang areas.
2899         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
2900         Add a different implementation for Chromium Mac.
2901
2902         Reviewed by Dimitri Glazkov.
2903
2904         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
2905
2906         * platform/ScrollView.cpp:
2907         (WebCore::ScrollView::wheelEvent):
2908         * platform/ScrollbarTheme.h:
2909         (WebCore::ScrollbarTheme::paintOverhangAreas):
2910         * platform/ScrollbarThemeComposite.cpp:
2911         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
2912         * platform/ScrollbarThemeComposite.h:
2913         * platform/chromium/ScrollbarThemeChromiumMac.h:
2914         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2915         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2916         (WebCore::scrollbarStateToThemeState):
2917         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
2918         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
2919
2920 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
2921
2922         Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
2923         https://bugs.webkit.org/show_bug.cgi?id=66273
2924
2925         Reviewed by Simon Fraser.
2926
2927         No new tests - no functionality changed - refactoring only.
2928
2929         * css/CSSPrimitiveValueMappings.h:
2930         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2931         Define cast from CSSPrimitiveValue to ETransformStyle3D.
2932         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
2933         Define cast from ETransformStyle3D to CSSPrimitiveValue.
2934         * css/CSSStyleSelector.cpp:
2935         (WebCore::CSSStyleSelector::applyProperty):
2936         Use appropriate macro to handle CSSPropertyWebkitTransformStyle.
2937
2938 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
2939
2940         Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
2941         https://bugs.webkit.org/show_bug.cgi?id=66279
2942
2943         Reviewed by Simon Fraser.
2944
2945         No new tests - no functionality changed - simple refactoring only.
2946
2947         * css/CSSStyleSelector.cpp:
2948         (WebCore::CSSStyleSelector::applyProperty):
2949         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to handle CSSPropertyWebkitContentOrder.
2950         This works because PrimitiveValue now supports cast to int.
2951
2952 2011-08-16  Eric Carlson  <eric.carlson@apple.com>
2953
2954         [REGRESSION] Media controls should always be enabled when scripting is disabled
2955         https://bugs.webkit.org/show_bug.cgi?id=66303
2956
2957         Reviewed by Dimitri Glazkov.
2958
2959         Tests: media/video-controls-no-scripting-iframe.html
2960                media/video-controls-no-scripting.html
2961
2962         * html/HTMLMediaElement.cpp:
2963         (WebCore::HTMLMediaElement::attributeChanged): Move the controls enabling/disabling code
2964             to configureMediaControls.
2965         (WebCore::HTMLMediaElement::prepareForLoad): Call configureMediaControls.
2966         (WebCore::HTMLMediaElement::configureMediaControls): New, move code duplicated in 
2967             attributeChanged and preDispatchEventHandler here.
2968         (WebCore::HTMLMediaElement::preDispatchEventHandler): Move the controls enabling/disabling code
2969             to configureMediaControls.
2970         * html/HTMLMediaElement.h:
2971
2972 2011-08-16  Pavel Feldman  <pfeldman@google.com>
2973
2974         Web Inspector: hide non-conservative methods from the protocol documentation.
2975         https://bugs.webkit.org/show_bug.cgi?id=66301
2976
2977         Reviewed by Yury Semikhatsky.
2978
2979         * inspector/Inspector.json:
2980
2981 2011-08-16  Andras Becsi  <abecsi@webkit.org>
2982
2983         Web Inspector: nuke background events collection (dead feature)
2984         https://bugs.webkit.org/show_bug.cgi?id=66296
2985
2986         Fix the GTK build after r93095.
2987
2988         Unreviewed build fix.
2989
2990         No new tests neede.
2991
2992         * GNUmakefile.list.am: Remove nonexistent sources.
2993
2994 2011-08-16  Andras Becsi  <abecsi@webkit.org>
2995
2996         Reviewed by Csaba Osztrogon√°c.
2997
2998         Need AtomicStrings for the various font family names
2999         https://bugs.webkit.org/show_bug.cgi?id=28024
3000
3001         Unify the usage of '-webkit' prefixed font family names by using
3002         global AtomicStrings.
3003         Use a .in file to generate the needed sources through make_names.pl.
3004
3005         No new tests needed.
3006
3007         * CMakeLists.txt:
3008         * CodeGenerators.pri:
3009         * DerivedSources.make:
3010         * GNUmakefile.am:
3011         * GNUmakefile.list.am:
3012         * WebCore.gyp/WebCore.gyp:
3013         * WebCore.gyp/scripts/action_makenames.py:
3014         * WebCore.gypi:
3015         * WebCore.vcproj/WebCore.vcproj:
3016         * WebCore.xcodeproj/project.pbxproj:
3017         * css/CSSComputedStyleDeclaration.cpp:
3018         (WebCore::identifierForFamily):
3019         * css/CSSFontSelector.cpp:
3020         (WebCore::CSSFontSelector::addFontFaceRule):
3021         (WebCore::fontDataForGenericFamily):
3022         * css/CSSStyleSelector.cpp:
3023         (WebCore::CSSStyleSelector::applyProperty):
3024         * css/WebKitFontFamilyNames.in: Added.
3025         * dom/make_names.pl:
3026         * page/Frame.cpp:
3027         (WebCore::Frame::Frame):
3028         * platform/graphics/FontCache.cpp:
3029         (WebCore::FontCache::getFontData):
3030         * platform/graphics/FontDescription.h:
3031         (WebCore::FontDescription::useFixedDefaultSize):
3032
3033 2011-08-16  Pavel Feldman  <pfeldman@google.com>
3034
3035         Web Inspector: nuke background events collection (dead feature)
3036         https://bugs.webkit.org/show_bug.cgi?id=66296
3037
3038         Reviewed by Yury Semikhatsky.
3039
3040         * CMakeLists.txt:
3041         * WebCore.gypi:
3042         * WebCore.pro:
3043         * WebCore.vcproj/WebCore.vcproj:
3044         * WebCore.xcodeproj/project.pbxproj:
3045         * inspector/EventsCollector.cpp: Removed.
3046         * inspector/EventsCollector.h: Removed.
3047         * inspector/Inspector.json:
3048         * inspector/InspectorFrontendProxy.cpp: Removed.
3049         * inspector/InspectorFrontendProxy.h: Removed.
3050         * inspector/InspectorResourceAgent.cpp:
3051         (WebCore::InspectorResourceAgent::setFrontend):
3052         (WebCore::InspectorResourceAgent::clearFrontend):
3053         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3054         * inspector/InspectorResourceAgent.h:
3055         * inspector/front-end/NetworkPanel.js:
3056         (WebInspector.NetworkLogView):
3057
3058 2011-08-16  Lindsay Mathieson   <lindsay.mathieson@gmail.com>
3059
3060         [Qt] Missing spell check support
3061         https://bugs.webkit.org/show_bug.cgi?id=44114
3062
3063         Reviewed by Benjamin Poulain.
3064
3065         Add drawErrorUnderline() from Cairo to render the line for text checking on the Qt port.
3066
3067         * platform/graphics/qt/GraphicsContextQt.cpp:
3068         (WebCore::drawErrorUnderline):
3069         (WebCore::GraphicsContext::drawLineForTextChecking):
3070
3071 2011-08-15  MORITA Hajime  <morrita@google.com>
3072
3073         REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent from updating <textarea> value.
3074         https://bugs.webkit.org/show_bug.cgi?id=66216
3075
3076         Reviewed by Ryosuke Niwa.
3077
3078         Element::spellcheckAttributeState() uses Element::hasAttribute(),
3079         which calls updateStyleAttribute(), which potentially makes style
3080         dirty. But that is problematic since Editor calls spellcheckAttributeState()
3081         during the spell-checking phase and make the style dirty,
3082         which can trigger re-layout, which wipes the shadow tree of a textarea
3083         out by pre-committed "value" text.
3084
3085         This change removes the hasAttribute() call from
3086         spellcheckAttributeState().
3087
3088         Test: editing/input/style-change-during-input.html
3089
3090         * dom/Element.cpp:
3091         (WebCore::Element::spellcheckAttributeState):
3092
3093 2011-08-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3094
3095         [CMAKE] Wrap files of websocket and worker in each macro.
3096         https://bugs.webkit.org/show_bug.cgi?id=65012
3097
3098         Move files of web socket and workers into each macro block in CMakeList.txt.
3099         And, header files related to WORKER and SHARED_WORKER are wrapped by macro in cpp files.
3100
3101         Reviewed by Daniel Bates.
3102
3103         * CMakeLists.txt:
3104         * UseJSC.cmake:
3105         * bindings/js/JSDOMWindowCustom.cpp:
3106         * bindings/js/JSWorkerContextBase.cpp:
3107         * bindings/js/ScriptState.cpp:
3108         * bindings/js/WorkerScriptController.cpp:
3109
3110 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
3111
3112         New XML parser: add xml namespace to the default map of namespaces
3113         https://bugs.webkit.org/show_bug.cgi?id=66266
3114
3115         Reviewed by Adam Barth.
3116
3117         * xml/parser/XMLTreeBuilder.cpp:
3118         (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
3119
3120 2011-08-15  Hayato Ito  <hayato@chromium.org>
3121
3122         Fix crash when mouse moves from <summary> element to parent <details> element.
3123         https://bugs.webkit.org/show_bug.cgi?id=66210
3124
3125         Reviewed by Dimitri Glazkov.
3126
3127         This is a regression caused by r92922, which wrongly assumes that
3128         a shadow host always has a shadow root as an immediate child in
3129         ancestors chain. This assumption does not apply to <details>
3130         element. <details> element is implemented as a shadow host, but
3131         may have a <summary> element as an immediate child element in
3132         ancestors chain.
3133
3134         Test: fast/dom/shadow/details-summary-mouseover.html
3135
3136         * dom/EventDispatcher.cpp:
3137         (WebCore::EventDispatcher::adjustToShadowBoundaries):
3138
3139 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
3140
3141         New XML parser: Use xmlnsAtom instead of redundant xmlnsPrefix
3142         https://bugs.webkit.org/show_bug.cgi?id=66264
3143
3144         Reviewed by Adam Barth.
3145
3146         * xml/parser/XMLTreeBuilder.cpp:
3147         (WebCore::XMLTreeBuilder::processNamespaces):
3148         (WebCore::XMLTreeBuilder::processAttributes):
3149
3150 2011-08-15  Emil A Eklund  <eae@chromium.org>
3151
3152         Switch Element/Node to to new layout types
3153         https://bugs.webkit.org/show_bug.cgi?id=66260
3154
3155         Reviewed by Eric Seidel.
3156
3157         Convert Element, Node, ElementRareData and ContainerNode to new layout
3158         abstraction as a part of the ongoing conversion work.
3159
3160         No new tests, no new functionality.
3161
3162         * dom/ContainerNode.cpp:
3163         (WebCore::ContainerNode::getLowerRightCorner):
3164         (WebCore::ContainerNode::getRect):
3165         * dom/ContainerNode.h:
3166         * dom/Element.cpp:
3167         (WebCore::Element::scrollIntoView):
3168         (WebCore::Element::scrollIntoViewIfNeeded):
3169         (WebCore::adjustForLocalZoom):
3170         (WebCore::Element::boundsInWindowSpace):
3171         (WebCore::Element::getClientRects):
3172         (WebCore::Element::getBoundingClientRect):
3173         (WebCore::Element::screenRect):
3174         (WebCore::Element::minimumSizeForResizing):
3175         (WebCore::Element::setMinimumSizeForResizing):
3176         * dom/Element.h:
3177         * dom/ElementRareData.h:
3178         * dom/Node.cpp:
3179         (WebCore::Node::getRect):
3180         (WebCore::Node::renderRect):
3181         (WebCore::Node::hasNonEmptyBoundingBox):
3182         * dom/Node.h:
3183
3184 2011-08-15  Alexey Proskuryakov  <ap@apple.com>
3185
3186         Regional indicator symbols that are combined should behave as a single character when editing
3187         https://bugs.webkit.org/show_bug.cgi?id=65395
3188
3189         Reviewed by Dan Bernstein.
3190
3191         Part one: make backspace work.
3192
3193         Test: editing/deleting/regional-indicators.html
3194
3195         * rendering/RenderText.cpp:
3196         (WebCore::isRegionalIndicator):
3197         (WebCore::RenderText::previousOffsetForBackwardDeletion): Added a special case for regional
3198         indicator symbols.
3199
3200 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
3201
3202         New XML parser: Re-entering a character node should not clobber the buffered characters
3203         https://bugs.webkit.org/show_bug.cgi?id=66257
3204
3205         Reviewed by Adam Barth.
3206
3207         * xml/parser/XMLTreeBuilder.cpp:
3208         (WebCore::XMLTreeBuilder::enterText):
3209
3210 2011-08-15  Dmitry Titov  <dimich@chromium.org>
3211
3212         FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
3213         https://bugs.webkit.org/show_bug.cgi?id=66165
3214
3215         Reviewed by Darin Fisher.
3216
3217         No new tests since no change in behavior.
3218         The original issue is only reproducible on Chromium in multi-process mode
3219         and is tested there by a browsertest.
3220
3221         * loader/DocumentLoader.cpp:
3222         (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
3223         Passing ResourceLoader* into the FrameLoaderClient notification.
3224         Also, fixed the bug where the same ResourceRequest was passed for all subresources.
3225         * loader/EmptyClients.h:
3226         (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
3227         * loader/FrameLoader.cpp:
3228         (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
3229         * loader/FrameLoader.h:
3230         * loader/FrameLoaderClient.h:
3231         * loader/ResourceLoadNotifier.cpp:
3232         (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
3233         * loader/ResourceLoadNotifier.h:
3234         * loader/ResourceLoader.cpp:
3235         (WebCore::ResourceLoader::init):
3236         * loader/ResourceLoader.h:
3237         (WebCore::ResourceLoader::originalRequest): Added the originalRequest() accessor that
3238         returns the request as it existed before redirects (but after client's will SendRequest).
3239         This is to be able to pass the original request for loading subresources into
3240         FrameLoaderClient::transferLoadingResourceFromPage, since that one is used to invoke
3241         assignIdentifierToInitialRequest, which needs original request.
3242
3243 2011-08-15  Mark Hahnenberg  <mhahnenberg@apple.com>
3244
3245         Refactor JS objects to allocate in static create methods rather than constructors
3246         https://bugs.webkit.org/show_bug.cgi?id=65347
3247
3248         Reviewed by Geoffrey Garen.
3249
3250         No new tests.
3251
3252         Removed all calls to deprecatedGetDOMObject from initialization lists as part of a 
3253         larger refactoring to get rid of all allocation during initialization.
3254
3255         * bindings/js/JSDOMBinding.h:
3256         * bridge/c/CRuntimeObject.cpp:
3257         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3258         * bridge/c/CRuntimeObject.h:
3259         (JSC::Bindings::CRuntimeObject::create):
3260         * bridge/c/c_instance.cpp:
3261         (JSC::Bindings::CRuntimeMethod::create):
3262         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
3263         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3264         (JavaRuntimeMethod::create):
3265         (JavaRuntimeMethod::JavaRuntimeMethod):
3266         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3267         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3268         * bridge/jni/jsc/JavaRuntimeObject.h:
3269         (JSC::Bindings::JavaRuntimeObject::create):
3270         * bridge/objc/objc_runtime.h:
3271         (JSC::Bindings::ObjcFallbackObjectImp::create):
3272         * bridge/objc/objc_runtime.mm:
3273         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3274         * bridge/qt/qt_instance.cpp:
3275         (JSC::Bindings::QtRuntimeObject::create):
3276         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3277         * bridge/qt/qt_pixmapruntime.cpp:
3278         (JSC::Bindings::QtPixmapRuntimeObject::create):
3279         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3280         * bridge/qt/qt_runtime.cpp:
3281         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3282         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3283         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
3284         * bridge/qt/qt_runtime.h:
3285         (JSC::Bindings::QtRuntimeMetaMethod::create):
3286         (JSC::Bindings::QtRuntimeConnectionMethod::create):
3287         * bridge/runtime_array.cpp:
3288         (JSC::RuntimeArray::RuntimeArray):
3289         * bridge/runtime_array.h:
3290         (JSC::RuntimeArray::create):
3291         * bridge/runtime_object.cpp:
3292
3293 2011-08-15  Adam Roben  <aroben@apple.com>
3294
3295         Update pages' style and content scale when the window's backing scale factor changes
3296
3297         Unfortunately, I couldn't think of a way to test this in an automated fashion.
3298
3299         Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
3300         scale factor changes
3301
3302         Reviewed by Simon Fraser.
3303
3304         * WebCore.exp.in: Export Frame::deviceOrScaleFactorChanged.
3305
3306         * page/Frame.cpp:
3307         (WebCore::Frame::deviceScaleFactorChanged):
3308         * page/Frame.h:
3309         Added this new function. We recalc style so that, e.g., device-scale-factor-dependent media
3310         queries will be reevaluated, and we tell compositing layers about the new scale factor so
3311         they can rerender at the new resolution.
3312
3313 2011-08-15  Cary Clark  <caryclark@google.com>
3314
3315         Revise Skia on Chrome Mac to return fallback fonts.
3316         https://bugs.webkit.org/show_bug.cgi?id=62986
3317
3318         Reviewed by Darin Fisher.
3319
3320         Since Skia on Chrome Mac uses CoreText to determine
3321         text metrics, CG font architecture is used to return
3322         fallback fonts.
3323
3324         This improves many existing layout tests, including
3325         justify-ideograph-simple and t0905-c414-flt-04-c 
3326
3327         * platform/graphics/skia/FontSkia.cpp:
3328         (WebCore::Font::canReturnFallbackFontsForComplexText):
3329
3330 2011-08-15  Aaron Boodman  <aa@chromium.org>
3331
3332         Pass additional details to client in didCreateIsolatedContext
3333         https://bugs.webkit.org/show_bug.cgi?id=66037
3334
3335         Reviewed by Darin Fisher.
3336
3337         * bindings/v8/IsolatedWorld.cpp:
3338         (WebCore::IsolatedWorld::IsolatedWorld):
3339         * bindings/v8/IsolatedWorld.h:
3340         (WebCore::IsolatedWorld::create):
3341         (WebCore::IsolatedWorld::id):
3342         * bindings/v8/V8IsolatedContext.cpp:
3343         (WebCore::V8IsolatedContext::V8IsolatedContext):
3344         * bindings/v8/V8IsolatedContext.h:
3345         * bindings/v8/V8Proxy.cpp:
3346         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3347         * loader/EmptyClients.h:
3348         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
3349         * loader/FrameLoaderClient.h:
3350
3351 2011-08-15  Chris Rogers  <crogers@google.com>
3352
3353         Add shell implementation for Web Audio API's MediaElementAudioSourceNode
3354         https://bugs.webkit.org/show_bug.cgi?id=66175
3355
3356         Reviewed by Kenneth Russell.
3357
3358         Test: webaudio/mediaelementaudiosourcenode.html
3359
3360         * DerivedSources.make:
3361         * WebCore.gypi:
3362         * WebCore.xcodeproj/project.pbxproj:
3363         * html/HTMLMediaElement.idl:
3364         * webaudio/AudioContext.cpp:
3365         (WebCore::AudioContext::createMediaElementSource):
3366         * webaudio/AudioContext.h:
3367         * webaudio/AudioContext.idl:
3368         * webaudio/AudioNode.h:
3369         * webaudio/MediaElementAudioSourceNode.cpp: Added.
3370         (WebCore::MediaElementAudioSourceNode::create):
3371         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
3372         (WebCore::MediaElementAudioSourceNode::process):
3373         (WebCore::MediaElementAudioSourceNode::reset):
3374         * webaudio/MediaElementAudioSourceNode.h: Added.
3375         (WebCore::MediaElementAudioSourceNode::mediaElement):
3376         * webaudio/MediaElementAudioSourceNode.idl: Added.
3377
3378 2011-08-15  Emil A Eklund  <eae@chromium.org>
3379
3380         Switch mouse events to to new layout types
3381         https://bugs.webkit.org/show_bug.cgi?id=66179
3382
3383         Reviewed by Eric Seidel.
3384
3385         Convert mouse events to new layout abstraction as a part of the ongoing
3386         conversion work.
3387
3388         No new tests, no new functionality.
3389
3390         * dom/MouseRelatedEvent.cpp:
3391         (WebCore::contentsScrollOffset):
3392         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3393         (WebCore::MouseRelatedEvent::initCoordinates):
3394         (WebCore::MouseRelatedEvent::computePageLocation):
3395         (WebCore::MouseRelatedEvent::computeRelativePosition):
3396         (WebCore::MouseRelatedEvent::pageLocation):
3397         * dom/MouseRelatedEvent.h:
3398         (WebCore::MouseRelatedEvent::screenLocation):
3399         (WebCore::MouseRelatedEvent::clientLocation):
3400         (WebCore::MouseRelatedEvent::absoluteLocation):
3401         (WebCore::MouseRelatedEvent::setAbsoluteLocation):
3402         * page/EventHandler.cpp:
3403         (WebCore::EventHandler::clear):
3404         (WebCore::EventHandler::handleMousePressEventSingleClick):
3405         (WebCore::selectionExtentRespectingEditingBoundary):
3406         (WebCore::EventHandler::hitTestResultAtPoint):
3407         (WebCore::EventHandler::currentMousePosition):
3408         (WebCore::documentPointForWindowPoint):
3409         (WebCore::EventHandler::handleMousePressEvent):
3410         (WebCore::EventHandler::mouseMoved):
3411         (WebCore::EventHandler::handleWheelEvent):
3412         (WebCore::EventHandler::sendContextMenuEvent):
3413         (WebCore::EventHandler::sendContextMenuEventForKey):
3414         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
3415         (WebCore::EventHandler::dragHysteresisExceeded):
3416         (WebCore::EventHandler::handleDrag):
3417         (WebCore::EventHandler::handleTouchEvent):
3418         * page/EventHandler.h:
3419         * platform/PlatformMouseEvent.h:
3420         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3421         (WebCore::PlatformMouseEvent::pos):
3422         (WebCore::PlatformMouseEvent::x):
3423         (WebCore::PlatformMouseEvent::y):
3424         (WebCore::PlatformMouseEvent::globalX):
3425         (WebCore::PlatformMouseEvent::globalY):
3426         * platform/mac/PlatformMouseEventMac.mm:
3427         (WebCore::globalPoint):
3428         (WebCore::pointForEvent):
3429         (WebCore::globalPointForEvent):
3430
3431 2011-08-15  Ryosuke Niwa  <rniwa@webkit.org>
3432
3433         webkit-indent-blockquote is unnecessary
3434         https://bugs.webkit.org/show_bug.cgi?id=66195
3435
3436         Reviewed by Tony Chang.
3437
3438         Stop adding class="webkit-indent-blockquote" on blockquotes created by execCommand('Indent') and
3439         execCommand('Outdent'). Also removed the code to add the class attribute in ApplyBlockElementCommand
3440         since no other class inherited from ApplyBlockElementCommand uses this feature.
3441
3442         * editing/ApplyBlockElementCommand.cpp:
3443         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand):
3444         (WebCore::ApplyBlockElementCommand::createBlockElement):
3445         * editing/ApplyBlockElementCommand.h:
3446         * editing/IndentOutdentCommand.cpp:
3447         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
3448
3449 2011-08-15  Levi Weintraub  <leviw@chromium.org>
3450
3451         Switch remaining SVG Rendering methods to LayoutUnits
3452         https://bugs.webkit.org/show_bug.cgi?id=66169
3453
3454         Reviewed by Eric Seidel.
3455
3456         Changing remaining integer SVG methods to use the LayoutUnits abstraction.