[BlackBerry] Add a check to filter out cookies that tries to set the domain to a...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-23  Otto Derek Cheung  <otcheung@rim.com>
2
3
4         [BlackBerry] Add a check to filter out cookies that tries to set the domain to a top level domain 
5         https://bugs.webkit.org/show_bug.cgi?id=94722
6
7         Reviewed by Rob Buis.
8
9         Changing the topleveldomain method name for better readability.
10
11         Also renaming the TopLevelDomain.h in platform to DomainTools
12         because there exists other tests that should belong in the same file.
13
14         Only changing method names and include file names.
15
16         * platform/blackberry/CookieParser.cpp:
17         (WebCore::CookieParser::parseOneCookie):
18
19 2012-08-23  Shezan Baig  <shezbaig.wk@gmail.com>
20
21         Fix cross-direction stretch for replaced elements in column flexbox
22         https://bugs.webkit.org/show_bug.cgi?id=94604
23
24         Reviewed by Ojan Vafai.
25
26         Moved the logic that constrains logical width by MinSize and MaxSize to
27         a new helper function called constrainLogicalWidthInRegionByMinMax.
28         This helper function is used from both computeLogicalWidthInRegion and
29         RenderFlexibleBox::applyStretchAlignmentToChild.
30
31         RenderFlexibleBox no longer checks for isMultiline when stretching
32         elements in a column flexbox. Instead, we now constrain the available
33         width by the child's min-width and max-width, and set the override
34         width only if that constrained width is different from the child's
35         current logicalWidth.
36
37         No new tests. The existing css3/flexbox/flexitem.html test was extended
38         to exercise the new code.
39
40         * rendering/RenderBox.cpp:
41         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax): New helper
42         method to constrain logical width by min-width and max-width.
43         (WebCore):
44         (WebCore::RenderBox::computeLogicalWidthInRegion): Changed to use the
45         new constrainLogicalWidthInRegionByMinMax helper method.
46         * rendering/RenderBox.h:
47         (RenderBox):
48         * rendering/RenderFlexibleBox.cpp:
49         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Changed to
50         use constrainLogicalWidthInRegionByMinMax to determine the override
51         width for the child.
52
53 2012-08-23  Adam Barth  <abarth@webkit.org>
54
55         [V8] ScriptState is using stone knifes and bear skins
56         https://bugs.webkit.org/show_bug.cgi?id=94846
57
58         Reviewed by Eric Seidel.
59
60         This patch just modernizes ScriptState to use some of the newer tools
61         available in the V8 bindings. There shouldn't be any behavior changes.
62
63         * bindings/v8/ScriptState.cpp:
64         (WebCore::ScriptState::ScriptState):
65         (WebCore::ScriptState::~ScriptState):
66         (WebCore::ScriptState::domWindow):
67         (WebCore::ScriptState::scriptExecutionContext):
68         (WebCore::ScriptState::forContext):
69         (WebCore::ScriptState::current):
70         * bindings/v8/ScriptState.h:
71         (WebCore):
72         (WebCore::ScriptState::context):
73         (ScriptState):
74         (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
75         (ScriptStateProtectedPtr):
76         * bindings/v8/V8Binding.cpp:
77         (WebCore::toScriptExecutionContext):
78         (WebCore):
79         * bindings/v8/V8Binding.h:
80         (WebCore):
81
82 2012-08-23  Dana Jansens  <danakj@chromium.org>
83
84         [chromium] Don't require a RenderSurface* in order to create a RenderPass
85         https://bugs.webkit.org/show_bug.cgi?id=94862
86
87         Reviewed by Adrienne Walker.
88
89         If a test wants to create a RenderPass, they are required to create a
90         Layer, and a RenderSurface. This is not ideal, we should let tests
91         create RenderPasses more simply by giving the information that it needs.
92
93         This also helps us recreate the RenderPasses after receiving a copy
94         via IPC.
95
96         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
97         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
98         * platform/graphics/chromium/cc/CCRenderPass.cpp:
99         (WebCore::CCRenderPass::create):
100         (WebCore::CCRenderPass::CCRenderPass):
101         * platform/graphics/chromium/cc/CCRenderPass.h:
102         (CCRenderPass):
103
104 2012-08-23  Adam Barth  <abarth@webkit.org>
105
106         [V8] ScriptValue should use ScopedPresistent rather than calling New/Dispose directly
107         https://bugs.webkit.org/show_bug.cgi?id=94864
108
109         Reviewed by Eric Seidel.
110
111         ScriptValue was created before ScopedPersistent existed and therefore
112         calls New/Dispose manually. Instead, it should use the less error-prone
113         approach of having ScopedPersistent balance those calls.
114
115         * bindings/v8/ScriptValue.cpp:
116         (WebCore::ScriptValue::serialize):
117         (WebCore::ScriptValue::getString):
118         (WebCore::ScriptValue::toString):
119         (WebCore::ScriptValue::toInspectorValue):
120         * bindings/v8/ScriptValue.h:
121         (WebCore::ScriptValue::ScriptValue):
122         (WebCore::ScriptValue::operator=):
123         (WebCore::ScriptValue::operator==):
124         (WebCore::ScriptValue::isEqual):
125         (WebCore::ScriptValue::isFunction):
126         (WebCore::ScriptValue::isNull):
127         (WebCore::ScriptValue::isUndefined):
128         (WebCore::ScriptValue::isObject):
129         (WebCore::ScriptValue::hasNoValue):
130         (WebCore::ScriptValue::clear):
131         (WebCore::ScriptValue::v8Value):
132         (ScriptValue):
133
134 2012-08-22  James Robinson  <jamesr@chromium.org>
135
136         [chromium] Remove WebLayer::setChildren API
137         https://bugs.webkit.org/show_bug.cgi?id=94749
138
139         Reviewed by Adrienne Walker.
140
141         Sets up the child list directly instead of building an intermediate buffer. Covered by compositing/*
142
143         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
144         (WebCore::GraphicsLayerChromium::updateChildList):
145
146 2012-08-23  Dominic Mazzoni  <dmazzoni@google.com>
147
148         AX: Focusable elements without a role should not be ignored
149         https://bugs.webkit.org/show_bug.cgi?id=94302
150
151         Reviewed by Chris Fleizach.
152
153         Changes the accessibility logic so that a generic element that's focusable is
154         not ignored for accessibility, and returns its inner text as its title. That way
155         if you Tab to the element, a reasonable accessibility notification is generated.
156
157         One exception is the body element, because focusing the body is equivalent to
158         blurring the current focused element and does not result in a "focus" accessibility
159         notification.
160
161         Also fixes logic that determined if an element was contentEditable by making
162         sure it catches the case with no attribute value (e.g. <div contentEditable>),
163         which also implies contentEditable=true according to the spec.
164
165         Test: accessibility/focusable-div.html
166
167         * accessibility/AccessibilityRenderObject.cpp:
168         (WebCore):
169         (WebCore::nodeHasContentEditableAttributeSet):
170         (WebCore::AccessibilityRenderObject::title):
171         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
172
173 2012-08-23  Julien Chaffraix  <jchaffraix@webkit.org>
174
175         Remove RenderTable::removeChild
176         https://bugs.webkit.org/show_bug.cgi?id=94842
177
178         Reviewed by Abhishek Arya.
179
180         This change removed removeChild, replaced by willBeRemovedFromTree calls. The upside is that
181         the invalidations are now guaranteed to run if we split a table (which is not guaranteed when
182         using removeChild). This change also shows that our code may be doing too much work in some
183         of the child's removal, in which case the code was marked as needed.
184
185         Covered by existing tests.
186
187         * rendering/RenderTable.cpp:
188         (WebCore::RenderTable::removeCaption):
189         Helper function used to remove the caption from our Vector. The invalidation are very likely
190         unneeded so added a comment about that.
191
192         * rendering/RenderTable.h:
193         * rendering/RenderTableCaption.cpp:
194         (WebCore::RenderTableCaption::willBeRemovedFromTree):
195         (WebCore::RenderTableCaption::table):
196         * rendering/RenderTableCaption.h:
197         * rendering/RenderTableCol.cpp:
198         (WebCore::RenderTableCol::willBeRemovedFromTree):
199         * rendering/RenderTableCol.h:
200         Added the following functions to do the invalidation.
201
202 2012-08-23  Mark Hahnenberg  <mhahnenberg@apple.com>
203
204         Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
205         https://bugs.webkit.org/show_bug.cgi?id=93884
206
207         Reviewed by Filip Pizlo.
208
209         With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
210         MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
211         we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
212         objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
213         For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
214         masquerade as undefined within frame B, but it will continue to masquerade in frame A. 
215
216         Test: fast/js/document-all-between-frames.html
217
218         All of the changes in WebCore are simply passing the additional ExecState argument to JSValue::toBoolean. 
219
220         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
221         (WebCore::JSSQLStatementErrorCallback::handleEvent):
222         * bindings/js/JSDOMWindowCustom.cpp:
223         (WebCore::JSDOMWindow::addEventListener):
224         (WebCore::JSDOMWindow::removeEventListener):
225         * bindings/js/JSDataViewCustom.cpp:
226         (WebCore::getDataViewMember):
227         * bindings/js/JSDeviceMotionEventCustom.cpp:
228         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
229         * bindings/js/JSDeviceOrientationEventCustom.cpp:
230         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
231         * bindings/js/JSDictionary.cpp:
232         (WebCore::JSDictionary::convertValue):
233         * bindings/js/JSHTMLCanvasElementCustom.cpp:
234         (WebCore::JSHTMLCanvasElement::getContext):
235         * bindings/js/JSInspectorFrontendHostCustom.cpp:
236         (WebCore::populateContextMenuItems):
237         * bindings/js/JSMessageEventCustom.cpp:
238         (WebCore::handleInitMessageEvent):
239         * bindings/js/JSWebGLRenderingContextCustom.cpp:
240         (WebCore::dataFunctionMatrix):
241         * bindings/js/JSXMLHttpRequestCustom.cpp:
242         (WebCore::JSXMLHttpRequest::open):
243         * bindings/js/JavaScriptCallFrame.cpp:
244         (WebCore::JavaScriptCallFrame::exec):
245         (WebCore):
246         * bindings/js/JavaScriptCallFrame.h:
247         (JavaScriptCallFrame):
248         * bindings/js/ScriptDebugServer.cpp:
249         (WebCore::ScriptDebugServer::hasBreakpoint):
250         * bindings/js/SerializedScriptValue.cpp:
251         (WebCore::CloneSerializer::dumpIfTerminal):
252         * bindings/scripts/CodeGeneratorJS.pm: Also add the custom create function for MasqueradesAsUndefined JS DOM wrappers. 
253         (GenerateEventListenerCall):
254         (GenerateHeader):
255         (JSValueToNative):
256         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
257         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
258         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
259         * bindings/scripts/test/JS/JSTestEventTarget.h:
260         (WebCore::JSTestEventTarget::create):
261         * bindings/scripts/test/JS/JSTestObj.cpp:
262         (WebCore::setJSTestObjCreate):
263         (WebCore::setJSTestObjReflectedBooleanAttr):
264         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
265         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
266         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
267         * bridge/c/c_utility.cpp:
268         (JSC::Bindings::convertValueToNPVariant):
269         * bridge/jni/jni_jsobject.mm:
270         (JavaJSObject::convertValueToJObject):
271         * bridge/qt/qt_runtime.cpp:
272         (JSC::Bindings::convertValueToQVariant):
273
274 2012-08-23  Adenilson Cavalcanti  <cavalcantii@gmail.com>
275
276         CSSParser: Move enumeration to a common place (StylePropertyShorthand)
277         https://bugs.webkit.org/show_bug.cgi?id=93210
278
279         Reviewed by Dean Jackson.
280
281         CSSParser::parseAnimationShorthand() uses an enumeration with the same
282         elements as another enumeration present in StylePropertyShorthand, but
283         with different ordering of values. This patch puts both enums in the same place.
284
285         No new tests. No change in behavior.
286
287         * css/CSSParser.cpp:
288         (WebCore::CSSParser::parseAnimationShorthand):
289         * css/StylePropertyShorthand.cpp:
290         (WebCore::webkitAnimationShorthandForParsing):
291         (WebCore):
292         * css/StylePropertyShorthand.h:
293         (WebCore):
294
295 2012-08-23  Mike West  <mkwst@chromium.org>
296
297         Trailing spaces in CSP source lists should not generate console warnings.
298         https://bugs.webkit.org/show_bug.cgi?id=94847
299
300         Reviewed by Adam Barth.
301
302         Trailing space after a valid source in a Content Security Policy source
303         list was accidentally generating console warnings about an invalid
304         (empty) source. This patch silently ignores trailing whitespace instead.
305
306         A test-case has been added to 'source-list-parsing-02.html' to cover
307         this case.
308
309         * page/ContentSecurityPolicy.cpp:
310         (WebCore::CSPSourceList::parse):
311             Return early if we reach the end of the source list after skipping
312             leading whitespace.
313
314 2012-08-23  Adam Barth  <abarth@webkit.org>
315
316         [V8] OwnHandle is a bit of a misnomer
317         https://bugs.webkit.org/show_bug.cgi?id=94841
318
319         Reviewed by Eric Seidel.
320
321         You don't really own the handle in the same way that you own a pointer
322         with OwnPtr. This class is more correctly called ScopedPersistent
323         because it just forces you to balance New() and Dispose() calls.
324
325         * WebCore.gypi:
326         * bindings/v8/JavaScriptCallFrame.h:
327         (JavaScriptCallFrame):
328         * bindings/v8/OwnHandle.h: Removed.
329         * bindings/v8/ScheduledAction.h:
330         (ScheduledAction):
331         * bindings/v8/ScopedPersistent.h: Copied from Source/WebCore/bindings/v8/OwnHandle.h.
332         (ScopedPersistent):
333         (WebCore::ScopedPersistent::ScopedPersistent):
334         (WebCore::ScopedPersistent::~ScopedPersistent):
335         * bindings/v8/ScriptDebugServer.cpp:
336         (WebCore::ScriptDebugServer::compileScript):
337         (WebCore::ScriptDebugServer::runScript):
338         * bindings/v8/ScriptDebugServer.h:
339         (ScriptDebugServer):
340         * bindings/v8/ScriptInstance.h:
341         (V8ScriptInstance):
342         * bindings/v8/V8PerContextData.h:
343         (V8PerContextData):
344
345 2012-08-23  Nate Chapin  <japhet@chromium.org>
346
347         ProgressTracker never completes if iframe detached during parsing 
348         https://bugs.webkit.org/show_bug.cgi?id=92272
349
350         Reviewed by Adam Barth.
351
352         Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched,
353         and balance the calls when the Frame is detached.
354
355         No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place.
356
357         * loader/FrameLoader.cpp:
358         (WebCore::FrameLoader::init):
359         (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
360         (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
361         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
362         (WebCore::FrameLoader::prepareForLoadStart):
363         (WebCore::FrameLoader::clearProvisionalLoad):
364         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
365         (WebCore::FrameLoader::detachFromParent):
366         * loader/FrameLoader.h:
367         (FrameProgressTracker):
368         (WebCore::FrameLoader::FrameProgressTracker::create):
369         (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker):
370
371 2012-08-23  Dana Jansens  <danakj@chromium.org>
372
373         [chromium] Create sharedQuadState at same time as creating quads and give them to the quadSink
374         https://bugs.webkit.org/show_bug.cgi?id=94752
375
376         Reviewed by Adrienne Walker.
377
378         Previously, CCRenderPass would create a sharedQuadState for a layer,
379         and pass it in to the layer. Then the layer would point all its quads
380         at the sharedQuadState.
381
382         After this change, the layer creates its own sharedQuadState, gives it
383         to the RenderPass (via CCQuadSink), and points its quads at it.
384
385         This approach allows a layer to generate more than one sharedQuadState
386         with different quads pointing to different shared states. Also, this
387         will allow the layer representing a delegating renderer (via ubercomp)
388         to copy sharedQuadStates from the delegating renderer in order to
389         merge its quads into the RenderPass for the current renderer.
390
391         Covered by existing tests, no change in behaviour.
392
393         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
394         (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
395         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
396         (CCHeadsUpDisplayLayerImpl):
397         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
398         (WebCore::CCIOSurfaceLayerImpl::appendQuads):
399         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
400         (CCIOSurfaceLayerImpl):
401         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
402         (WebCore::CCLayerImpl::createSharedQuadState):
403         * platform/graphics/chromium/cc/CCLayerImpl.h:
404         (CCLayerImpl):
405         (WebCore::CCLayerImpl::appendQuads):
406         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
407         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
408         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
409         (WebCore::CCQuadCuller::CCQuadCuller):
410         (WebCore::CCQuadCuller::append):
411         (WebCore::CCQuadCuller::useSharedQuadState):
412         (WebCore):
413         * platform/graphics/chromium/cc/CCQuadCuller.h:
414         (WebCore):
415         (CCQuadCuller):
416         * platform/graphics/chromium/cc/CCQuadSink.h:
417         (WebCore):
418         (CCQuadSink):
419         * platform/graphics/chromium/cc/CCRenderPass.cpp:
420         (WebCore::CCRenderPass::appendQuadsForLayer):
421         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
422         (WebCore::CCRenderPass::appendQuadsToFillScreen):
423         * platform/graphics/chromium/cc/CCRenderPass.h:
424         (WebCore):
425         (CCRenderPass):
426         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
427         (WebCore::CCRenderSurface::appendQuads):
428         * platform/graphics/chromium/cc/CCRenderSurface.h:
429         (CCRenderSurface):
430         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
431         (WebCore::CCScrollbarLayerImpl::appendQuads):
432         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
433         (CCScrollbarLayerImpl):
434         * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
435         (WebCore::CCSharedQuadState::create):
436         (WebCore::CCSharedQuadState::CCSharedQuadState):
437         * platform/graphics/chromium/cc/CCSharedQuadState.h:
438         (CCSharedQuadState):
439         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
440         (WebCore::CCSolidColorLayerImpl::appendQuads):
441         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
442         (CCSolidColorLayerImpl):
443         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
444         (WebCore::CCTextureLayerImpl::appendQuads):
445         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
446         (CCTextureLayerImpl):
447         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
448         (WebCore::CCTiledLayerImpl::appendQuads):
449         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
450         (CCTiledLayerImpl):
451         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
452         (WebCore::CCVideoLayerImpl::appendQuads):
453         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
454         (CCVideoLayerImpl):
455
456 2012-08-23  Mark Rowe  <mrowe@apple.com>
457
458         Remove some unneeded cruft from WebCore.xcodeproj.
459
460         * WebCore.xcodeproj/project.pbxproj:
461
462 2012-08-23  Mark Rowe  <mrowe@apple.com>
463
464         Make WebCore build with the latest version of clang.
465
466         Reviewed by Dan Bernstein.
467
468         * html/shadow/MediaControlRootElement.h: Remove m_textTrackDisplay as it is unused.
469         * platform/audio/mac/AudioFileReaderMac.cpp:
470         (WebCore::AudioFileReader::AudioFileReader): Remove m_filePath as it is unused.
471         * platform/audio/mac/AudioFileReaderMac.h:
472         (AudioFileReader): Ditto.
473         * platform/graphics/ImageSource.h:
474         (ImageSource): Guard m_alphaOption and m_gammaAndColorProfileOption with !USE(CG)
475         as they're unused on platforms using CG.
476         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
477         (MediaPlayerPrivateAVFoundationObjC): Remove m_player as it is unused.
478         * platform/graphics/cg/ImageSourceCG.cpp:
479         (WebCore::ImageSource::ImageSource): Don't initialize the m_alphaOption and
480         m_gammaAndColorProfileOption members since we never use them.
481         * platform/graphics/mac/GraphicsContext3DMac.mm:
482         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): Remove m_graphicsContext3D
483         as it is unused.
484
485 2012-08-23  Alexandre Elias  <aelias@chromium.org>
486
487         [chromium] Rename LayerRendererChromium to GL-specific name
488         https://bugs.webkit.org/show_bug.cgi?id=94835
489
490         Reviewed by James Robinson.
491
492         Over time, LayerRendererChromium has evolved to be a GL-specific
493         subclass of CCRenderer that has no awareness of layers (as it operates
494         only with drawQuads).
495
496         This patch renames LayerRendererChromium to CCRendererGL, replaces all
497         instances of "layerRenderer" with just "renderer", and removes a
498         few unnecessary includes of LayerRendererChromium.h.
499
500         No new tests (no-op refactoring).
501
502         * WebCore.gypi:
503         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
504         * platform/graphics/chromium/ContentLayerChromium.cpp:
505         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
506         * platform/graphics/chromium/GeometryBinding.cpp:
507         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
508         (WebCore::HeadsUpDisplayLayerChromium::update):
509         * platform/graphics/chromium/ImageLayerChromium.cpp:
510         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
511         * platform/graphics/chromium/LayerTextureSubImage.cpp:
512         * platform/graphics/chromium/ProgramBinding.cpp:
513         * platform/graphics/chromium/RenderSurfaceChromium.h:
514         (WebCore):
515         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
516         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
517         * platform/graphics/chromium/TextureCopier.cpp:
518         * platform/graphics/chromium/TiledLayerChromium.cpp:
519         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
520         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
521         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
522         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
523         (WebCore::sortLayers):
524         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
525         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
526         (WebCore::CCLayerTreeHost::initializeRenderer):
527         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
528         (WebCore::CCLayerTreeHost::finishAllRendering):
529         (WebCore::CCLayerTreeHost::rendererCapabilities):
530         (WebCore::CCLayerTreeHost::initializeRendererIfNeeded):
531         (WebCore::CCLayerTreeHost::updateLayers):
532         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
533         (WebCore::RendererCapabilities::RendererCapabilities):
534         (CCLayerTreeHost):
535         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
536         (WebCore::CCLayerTreeHostImpl::canDraw):
537         (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
538         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
539         (WebCore::CCLayerTreeHostImpl::drawLayers):
540         (WebCore::CCLayerTreeHostImpl::finishAllRendering):
541         (WebCore::CCLayerTreeHostImpl::isContextLost):
542         (WebCore::CCLayerTreeHostImpl::rendererCapabilities):
543         (WebCore::CCLayerTreeHostImpl::swapBuffers):
544         (WebCore::CCLayerTreeHostImpl::readback):
545         (WebCore::CCLayerTreeHostImpl::setVisible):
546         (WebCore::CCLayerTreeHostImpl::initializeRenderer):
547         (WebCore::CCLayerTreeHostImpl::setViewportSize):
548         (WebCore::CCLayerTreeHostImpl::ensureRenderSurfaceLayerList):
549         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
550         (WebCore):
551         (WebCore::CCLayerTreeHostImpl::renderer):
552         (CCLayerTreeHostImpl):
553         * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp:
554         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
555         * platform/graphics/chromium/cc/CCPriorityCalculator.cpp:
556         * platform/graphics/chromium/cc/CCProxy.h:
557         (WebCore):
558         (CCProxy):
559         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
560         * platform/graphics/chromium/cc/CCRenderSurface.h:
561         (WebCore):
562         * platform/graphics/chromium/cc/CCRenderer.h:
563         (CCRenderer):
564         * platform/graphics/chromium/cc/CCRendererGL.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp.
565         (WebCore::CCRendererGL::create):
566         (WebCore):
567         (WebCore::CCRendererGL::CCRendererGL):
568         (WebCore::CCRendererGL::initialize):
569         (WebCore::CCRendererGL::~CCRendererGL):
570         (WebCore::CCRendererGL::context):
571         (WebCore::CCRendererGL::debugGLCall):
572         (WebCore::CCRendererGL::setVisible):
573         (WebCore::CCRendererGL::releaseRenderPassTextures):
574         (WebCore::CCRendererGL::viewportChanged):
575         (WebCore::CCRendererGL::clearFramebuffer):
576         (WebCore::CCRendererGL::beginDrawingFrame):
577         (WebCore::CCRendererGL::doNoOp):
578         (WebCore::CCRendererGL::drawQuad):
579         (WebCore::CCRendererGL::drawCheckerboardQuad):
580         (WebCore::CCRendererGL::drawDebugBorderQuad):
581         (WebCore::applyFilters):
582         (WebCore::CCRendererGL::drawBackgroundFilters):
583         (WebCore::CCRendererGL::drawRenderPassQuad):
584         (WebCore::CCRendererGL::drawSolidColorQuad):
585         (TileProgramUniforms):
586         (WebCore::tileUniformLocation):
587         (WebCore::CCRendererGL::drawTileQuad):
588         (WebCore::CCRendererGL::drawYUVVideoQuad):
589         (WebCore::CCRendererGL::drawStreamVideoQuad):
590         (WebCore::TextureProgramBinding::set):
591         (TextureProgramBinding):
592         (WebCore::TexTransformTextureProgramBinding::set):
593         (TexTransformTextureProgramBinding):
594         (WebCore::CCRendererGL::drawTextureQuad):
595         (WebCore::CCRendererGL::drawIOSurfaceQuad):
596         (WebCore::CCRendererGL::finishDrawingFrame):
597         (WebCore::CCRendererGL::toGLMatrix):
598         (WebCore::CCRendererGL::setShaderFloatQuad):
599         (WebCore::CCRendererGL::setShaderOpacity):
600         (WebCore::CCRendererGL::drawQuadGeometry):
601         (WebCore::CCRendererGL::copyTextureToFramebuffer):
602         (WebCore::CCRendererGL::finish):
603         (WebCore::CCRendererGL::swapBuffers):
604         (WebCore::CCRendererGL::onSwapBuffersComplete):
605         (WebCore::CCRendererGL::onMemoryAllocationChanged):
606         (WebCore::CCRendererGL::onMemoryAllocationChangedOnImplThread):
607         (WebCore::CCRendererGL::discardFramebuffer):
608         (WebCore::CCRendererGL::ensureFramebuffer):
609         (WebCore::CCRendererGL::onContextLost):
610         (WebCore::CCRendererGL::getFramebufferPixels):
611         (WebCore::CCRendererGL::getFramebufferTexture):
612         (WebCore::CCRendererGL::useScopedTexture):
613         (WebCore::CCRendererGL::bindFramebufferToOutputSurface):
614         (WebCore::CCRendererGL::bindFramebufferToTexture):
615         (WebCore::CCRendererGL::enableScissorTestRect):
616         (WebCore::CCRendererGL::disableScissorTest):
617         (WebCore::CCRendererGL::setDrawViewportSize):
618         (WebCore::CCRendererGL::makeContextCurrent):
619         (WebCore::CCRendererGL::initializeSharedObjects):
620         (WebCore::CCRendererGL::tileCheckerboardProgram):
621         (WebCore::CCRendererGL::solidColorProgram):
622         (WebCore::CCRendererGL::renderPassProgram):
623         (WebCore::CCRendererGL::renderPassProgramAA):
624         (WebCore::CCRendererGL::renderPassMaskProgram):
625         (WebCore::CCRendererGL::renderPassMaskProgramAA):
626         (WebCore::CCRendererGL::tileProgram):
627         (WebCore::CCRendererGL::tileProgramOpaque):
628         (WebCore::CCRendererGL::tileProgramAA):
629         (WebCore::CCRendererGL::tileProgramSwizzle):
630         (WebCore::CCRendererGL::tileProgramSwizzleOpaque):
631         (WebCore::CCRendererGL::tileProgramSwizzleAA):
632         (WebCore::CCRendererGL::textureProgram):
633         (WebCore::CCRendererGL::textureProgramFlip):
634         (WebCore::CCRendererGL::textureIOSurfaceProgram):
635         (WebCore::CCRendererGL::videoYUVProgram):
636         (WebCore::CCRendererGL::videoStreamTextureProgram):
637         (WebCore::CCRendererGL::cleanupSharedObjects):
638         (WebCore::CCRendererGL::isContextLost):
639         * platform/graphics/chromium/cc/CCRendererGL.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h.
640         (WebKit):
641         (WebCore):
642         (CCRendererGL):
643         (WebCore::CCRendererGL::sharedGeometryQuad):
644         (WebCore::CCRendererGL::sharedGeometry):
645         (WebCore::CCRendererGL::isFramebufferDiscarded):
646         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
647         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
648         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
649         (WebCore::CCSingleThreadProxy::initializeRenderer):
650         (WebCore::CCSingleThreadProxy::recreateContext):
651         (WebCore::CCSingleThreadProxy::rendererCapabilities):
652         (WebCore::CCSingleThreadProxy::doCommit):
653         (WebCore::CCSingleThreadProxy::forceSerializeOnSwapBuffers):
654         (WebCore::CCSingleThreadProxy::commitAndComposite):
655         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
656         (CCSingleThreadProxy):
657         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
658         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
659         (WebCore::CCThreadProxy::CCThreadProxy):
660         (WebCore::CCThreadProxy::compositeAndReadback):
661         (WebCore::CCThreadProxy::initializeRenderer):
662         (WebCore::CCThreadProxy::recreateContext):
663         (WebCore::CCThreadProxy::rendererCapabilities):
664         (WebCore::CCThreadProxy::forceSerializeOnSwapBuffersOnImplThread):
665         (WebCore::CCThreadProxy::beginFrame):
666         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
667         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
668         (WebCore::CCThreadProxy::initializeRendererOnImplThread):
669         (WebCore::CCThreadProxy::recreateContextOnImplThread):
670         * platform/graphics/chromium/cc/CCThreadProxy.h:
671         (CCThreadProxy):
672
673 2012-08-23  Shezan Baig  <shezbaig.wk@gmail.com>
674
675         Flexbox doesn't need to compute logical height for stretched items in row flow
676         https://bugs.webkit.org/show_bug.cgi?id=94807
677
678         Reviewed by Tony Chang.
679
680         Change logicalHeightConstrainedByMinMax to
681         constrainLogicalHeightByMinMax. The new method doesn't compute the
682         MainOrPreferred logical height (that computation has been moved back to
683         computeLogicalHeight). RenderFlexibleBox now just constrains the
684         stretchedLogicalHeight by min/max.
685
686         No new tests. This is a cleanup of bug 94237.
687
688         * rendering/RenderBox.cpp:
689         (WebCore::RenderBox::constrainLogicalHeightByMinMax): Instead of
690         computing the MainOrPreferred logical height, just constrain the given
691         logical height by MinSize and MaxSize.
692         (WebCore::RenderBox::computeLogicalHeight): Compute the MainOrPreferred
693         logical height before constraining by min/max.
694         * rendering/RenderBox.h:
695         (RenderBox):
696         * rendering/RenderFlexibleBox.cpp:
697         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
698         constrainLogicalHeightByMinMax to constrain the stretchedLogicalHeight.
699
700 2012-08-23  Adam Barth  <abarth@webkit.org>
701
702         [V8] V8ScriptInstance is much more complicated than necessary
703         https://bugs.webkit.org/show_bug.cgi?id=94785
704
705         Reviewed by Kentaro Hara.
706
707         V8ScriptInstance just needs to be a one-line wrapper around OwnHandle.
708
709         * bindings/v8/OwnHandle.h:
710         (WebCore::OwnHandle::get):
711         * bindings/v8/ScriptInstance.cpp:
712         (WebCore::V8ScriptInstance::V8ScriptInstance):
713         (WebCore::V8ScriptInstance::~V8ScriptInstance):
714         (WebCore::V8ScriptInstance::instance):
715         * bindings/v8/ScriptInstance.h:
716         (WebCore::V8ScriptInstance::create):
717         (V8ScriptInstance):
718
719 2012-08-23  Christophe Dumez  <christophe.dumez@intel.com>
720
721         Serialization of JavaScript values does not appear to respect new HTML5 Structured Clone semantics
722         https://bugs.webkit.org/show_bug.cgi?id=65292
723
724         Reviewed by Oliver Hunt.
725
726         JSC now correctly serialize Boolean, Number and String objects as per
727         the structured clone algorithm specification. This patch reduces the
728         delta with the V8 implementation of SerializedScriptValue.
729
730         No new tests, already tested by fast/dom/Window/window-postmessage-clone.html
731
732         * bindings/js/SerializedScriptValue.cpp:
733         (WebCore):
734         (WebCore::CloneSerializer::dumpStringObject):
735         (CloneSerializer):
736         (WebCore::CloneSerializer::dumpIfTerminal):
737         (WebCore::CloneDeserializer::readTerminal):
738
739 2012-08-23  Joshua Bell  <jsbell@chromium.org>
740
741         IndexedDB: Move onSuccess(IDBDatabaseBackendInterface) to IDBOpenDBRequest
742         https://bugs.webkit.org/show_bug.cgi?id=94757
743
744         Reviewed by Tony Chang.
745
746         Move the implementation of IDBCallbacks::onSuccess(IDBDatabaseBackendInterface)
747         from IDBRequest to the new IDBOpenDBRequest, which is the only request type that
748         should be receiving that callback.
749
750         No new tests - no functional changes.
751
752         * Modules/indexeddb/IDBCallbacks.h:
753         (IDBCallbacks):
754         (WebCore::IDBCallbacks::onSuccess):
755         * Modules/indexeddb/IDBOpenDBRequest.cpp:
756         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
757         (WebCore::IDBOpenDBRequest::onSuccess):
758         (WebCore):
759         * Modules/indexeddb/IDBOpenDBRequest.h:
760         (IDBOpenDBRequest):
761         * Modules/indexeddb/IDBRequest.cpp:
762         * Modules/indexeddb/IDBRequest.h:
763
764 2012-08-23  Andrei Onea  <onea@adobe.com>
765
766         [CSSRegions]Crash when moving anonymous block children inside a named flow
767         https://bugs.webkit.org/show_bug.cgi?id=90865
768
769         Reviewed by Abhishek Arya.
770
771         When an anonymous block's children are detached in RenderBlock::collapseAnonymousBoxChild, the reference
772         to their enclosingRenderFlowThread is lost and causes a crash in RenderObject::willBeRemovedFromTree.
773         Because of this, we now maintain the enclosingRenderFlowThread during the whole lifetime of the
774         RenderBlock::collapseAnonymousBoxChild function, using a CurrentRenderFlowThreadMaintainer local.
775         
776
777         Test: fast/regions/move-anonymous-block-inside-named-flow-crash.html
778
779         * rendering/RenderBlock.cpp:
780         (WebCore::RenderBlock::collapseAnonymousBoxChild):
781         * rendering/RenderFlowThread.cpp:
782         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
783         (WebCore):
784         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
785         Moved CurrentRenderFlowThreadMaintaner declaration from .cpp to .h, so that we can access it from
786         RenderBlock::collapseAnonymousBoxChild.
787         * rendering/RenderFlowThread.h:
788         (CurrentRenderFlowThreadMaintainer):
789         (WebCore):
790         * rendering/RenderObject.cpp:
791         (WebCore::RenderObject::willBeRemovedFromTree):
792
793 2012-08-23  Kevin Ollivier  <kevino@theolliviers.com>
794
795         [wx] Unreviewed build fix. Add wx to the list of platforms that use CoreText
796         APIs on Mac.
797
798         * platform/graphics/SimpleFontData.h:
799         (SimpleFontData):
800
801 2012-08-23  Kevin Ollivier  <kevino@theolliviers.com>
802
803         [wx] Unreviewed build fix. Don't rely on implicit casts, explicitly use the
804         Cursor constructor that takes a platform cursor for creating native cursors.
805
806         * platform/wx/CursorWx.cpp:
807         (WebCore::pointerCursor):
808         (WebCore::crossCursor):
809         (WebCore::handCursor):
810         (WebCore::iBeamCursor):
811         (WebCore::waitCursor):
812         (WebCore::helpCursor):
813         (WebCore::eastResizeCursor):
814         (WebCore::northResizeCursor):
815         (WebCore::northEastResizeCursor):
816         (WebCore::northWestResizeCursor):
817         (WebCore::columnResizeCursor):
818         (WebCore::rowResizeCursor):
819         (WebCore::notAllowedCursor):
820         (WebCore::zoomInCursor):
821         (WebCore::moveCursor):
822
823 2012-08-23  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
824
825         Remove redundant check for negative values when using WebCore::Color::alpha()
826         https://bugs.webkit.org/show_bug.cgi?id=94811
827
828         Reviewed by Eric Seidel.
829
830         Though alpha() returns a signed value (int), its value is stored on an unsigned
831         typedef (RGBA32) and is safeguarded by alphaChannel() that its value never goes
832         beyond 255, so no integer overflow, thus we can safely remove redundant check
833         for negative values while using it.
834
835         This change does not affect behavior, so no new tests needed.
836
837         * platform/graphics/Image.cpp:
838         (WebCore::Image::fillWithSolidColor):
839         * rendering/RenderBoxModelObject.cpp:
840         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
841         (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Using hasAlpha() for readibility.
842         * rendering/RenderView.cpp:
843         (WebCore::RenderView::paintBoxDecorations):
844         * rendering/style/RenderStyle.h:
845
846 2012-08-23  Zan Dobersek  <zandobersek@gmail.com>
847
848         [Gtk] Move feature defines processing into a GNUmakefile that's simple to autogenerate
849         https://bugs.webkit.org/show_bug.cgi?id=87127
850
851         Reviewed by Martin Robinson.
852
853         List all the feature defines with their default value in
854         GNUmakefile.features.am and append them to the 'feature_defines_defaults'.
855         variable.
856
857         In GNUmakefile.am, include the GNUmakefile.features.am. When checking the
858         AM conditionals for feature-enabling, append the appropriate define to
859         'feature_defines_overrides'.
860
861         After all such overrides are performed, append the proper define (of which
862         value was possibly overridden) for each feature to the 'feature_defines'
863         variable. Finally, append all these defines to webcore_cppflags in the form
864         of macros for preprocessing.
865
866         No new tests - no new functionality.
867
868         * GNUmakefile.am:
869         * GNUmakefile.features.am: Added.
870
871 2012-08-23  Adam Barth  <abarth@webkit.org>
872
873         [V8] ScheduledAction is ugly and needs a cleanup
874         https://bugs.webkit.org/show_bug.cgi?id=94784
875
876         Reviewed by Eric Seidel.
877
878         This patch updates ScheduledAction to use modern WebKit machinery, like
879         OwnHandle and Vector.
880
881         * bindings/v8/OwnHandle.h:
882         (OwnHandle):
883         * bindings/v8/ScheduledAction.cpp:
884         (WebCore::ScheduledAction::ScheduledAction):
885         (WebCore::ScheduledAction::~ScheduledAction):
886         (WebCore::ScheduledAction::execute):
887         * bindings/v8/ScheduledAction.h:
888         (WebCore):
889         (ScheduledAction):
890         (WebCore::ScheduledAction::ScheduledAction):
891
892 2012-08-23  Andrey Kosyakov  <caseq@chromium.org>
893
894         Web Inspector: dblclick on Timeline overview no longer selects entire timeline range
895         https://bugs.webkit.org/show_bug.cgi?id=94826
896
897         Reviewed by Vsevolod Vlasov.
898
899         Only install a glass pane for drag-n-drop upon first mouseout event -- otherwise, glass pane
900         will interfere with double clicks.
901
902         * inspector/front-end/UIUtils.js:
903         (WebInspector._elementDragStart.onMouseOut):
904         (WebInspector._elementDragStart):
905         (WebInspector._elementDragEnd):
906
907 2012-08-23  Adrienne Walker  <enne@google.com>
908
909         Convert ScrollableArea ASSERT_NOT_REACHED virtuals
910         https://bugs.webkit.org/show_bug.cgi?id=93306
911
912         Reviewed by Darin Adler.
913
914         ASSERT_NOT_REACHED is a bad way to make sure that a virtual function
915         gets an override, because it only fails at run-time in debug builds.
916
917         To fix this, convert the virtuals in ScrollableArea that have
918         ASSERT_NOT_REACHED to be either pure virtual or implemented directly
919         in ScrollableArea. Add implementations where necessary to make derived
920         classes concrete.
921
922         Additionally, consistently add OVERRIDE for virtual functions in
923         derived classes that override ScrollableArea methods.
924
925         * WebCore.exp.in:
926         * page/FrameView.h:
927         (FrameView):
928         * platform/ScrollView.h:
929         (ScrollView):
930         * platform/ScrollableArea.cpp:
931         (WebCore::ScrollableArea::scrollPosition):
932         (WebCore):
933         (WebCore::ScrollableArea::minimumScrollPosition):
934         (WebCore::ScrollableArea::maximumScrollPosition):
935         (WebCore::ScrollableArea::visibleContentRect):
936         * platform/ScrollableArea.h:
937         (ScrollableArea):
938         (WebCore::ScrollableArea::overhangAmount):
939         * platform/chromium/FramelessScrollView.cpp:
940         (WebCore::FramelessScrollView::isOnActivePage):
941         (WebCore):
942         (WebCore::FramelessScrollView::scrollableAreaBoundingBox):
943         * platform/chromium/FramelessScrollView.h:
944         (FramelessScrollView):
945         * platform/win/PopupMenuWin.cpp:
946         (WebCore::PopupMenuWin::visibleHeight):
947         (WebCore):
948         (WebCore::PopupMenuWin::visibleWidth):
949         (WebCore::PopupMenuWin::contentsSize):
950         (WebCore::PopupMenuWin::isOnActivePage):
951         (WebCore::PopupMenuWin::scrollableAreaBoundingBox):
952         * platform/win/PopupMenuWin.h:
953         (PopupMenuWin):
954         * rendering/RenderListBox.cpp:
955         * rendering/RenderListBox.h:
956         (RenderListBox):
957
958 2012-08-23  Alexander Shalamov  <alexander.shalamov@intel.com>
959
960         getComputedStyle returns wrong value for CSS3 2D transformations
961         https://bugs.webkit.org/show_bug.cgi?id=94211
962
963         Reviewed by Simon Fraser.
964
965         When computed style is calculated for CSS3 2D transformation, content
966         box size is used. According to W3C specification, object's bounding
967         box should be used. This patch fixes transformation matrix calculation.
968
969         Layout tests getComputedStyle-transform.html and computed-style-origin.html
970         were modified to test changes.
971
972         * css/CSSComputedStyleDeclaration.cpp:
973         (WebCore::computedTransform):
974         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
975         (WebCore::pixelSnappedSizingBox): Removed unused method
976
977 2012-08-23  Takashi Sakamoto  <tasak@google.com>
978
979         Distributed nodes should not share styles.
980         https://bugs.webkit.org/show_bug.cgi?id=90661
981
982         Reviewed by Hajime Morita.
983
984         styleForElement tries to use previous sibling's style for distributed
985         nodes. However distributed nodes are children of a shadow host, but
986         the nodes are not siblings as the result of distribution.
987         The spec is:
988         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-dom-subtrees
989         So sharing previous sibling's style should be disabled for distrbuted
990         nodes.
991
992         Test: fast/dom/shadow/style-of-distributed-node.html
993
994         * css/StyleResolver.cpp:
995         (WebCore::StyleResolver::StyleResolver):
996         Initialized m_distributedToInsertionPoint. Its initial value is false.
997         (WebCore::StyleResolver::initForStyleResolve):
998         After invoking NodeRenderingContext, if the context returns any
999         insertion point, set m_distributedToInsertionPoint to be true.
1000         Otherwise, false. The value is used in styleForElement.
1001         (WebCore::StyleResolver::styleForElement):
1002         If m_distributedToInsertionPoint is true, disable local sibling style
1003         cache.
1004         * css/StyleResolver.h:
1005         (StyleResolver):
1006         Added a new member variable, m_distributedToInsertionPoint.
1007         The variable keeps whether the m_element is distributed to an
1008         insertion point.
1009
1010 2012-08-23  John Griggs  <jgriggs@rim.com>
1011
1012                 Replace access ot HTMLMediaElement from MediaPlayerPrivateBlackBerry with methods in MediaPlayerClient - updated with notes from initial reviews.  https://bugs.webkit.org/show_bug.cgi?id=84291
1013
1014                 Reviewed by Eric Carlson.
1015
1016                 Code standard compliance - no functional change, so no new tests required.
1017
1018                 * html/HTMLMediaElement.cpp:
1019                 (WebCore::HTMLMediaElement::mediaPlayerExitFullscreen):
1020                 (WebCore):
1021                 (WebCore::HTMLMediaElement::mediaPlayerIsVideo):
1022                 (WebCore::HTMLMediaElement::mediaPlayerContentBoxRect):
1023                 (WebCore::HTMLMediaElement::mediaPlayerSetSize):
1024                 (WebCore::HTMLMediaElement::mediaPlayerPause):
1025                 (WebCore::HTMLMediaElement::mediaPlayerPlay):
1026                 (WebCore::HTMLMediaElement::mediaPlayerIsPaused):
1027                 (WebCore::HTMLMediaElement::mediaPlayerHostWindow):
1028                 (WebCore::HTMLMediaElement::mediaPlayerWindowClipRect):
1029                 * html/HTMLMediaElement.h:
1030                 (HTMLMediaElement):
1031                 * platform/graphics/MediaPlayer.h:
1032                 (WebCore):
1033                 (WebCore::MediaPlayerClient::mediaPlayerExitFullscreen):
1034                 (WebCore::MediaPlayerClient::mediaPlayerIsVideo):
1035                 (WebCore::MediaPlayerClient::mediaPlayerContentBoxRect):
1036                 (WebCore::MediaPlayerClient::mediaPlayerSetSize):
1037                 (WebCore::MediaPlayerClient::mediaPlayerPause):
1038                 (WebCore::MediaPlayerClient::mediaPlayerPlay):
1039                 (WebCore::MediaPlayerClient::mediaPlayerIsPaused):
1040                 (WebCore::MediaPlayerClient::mediaPlayerHostWindow):
1041                 (WebCore::MediaPlayerClient::mediaPlayerWindowClipRect):
1042                 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1043                 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1044                 (WebCore::MediaPlayerPrivate::load):
1045                 (WebCore::MediaPlayerPrivate::paint):
1046                 (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
1047                 (WebCore::MediaPlayerPrivate::updateStates):
1048                 (WebCore::MediaPlayerPrivate::onPauseStateChanged):
1049                 (WebCore::MediaPlayerPrivate::onPlayNotified):
1050                 (WebCore::MediaPlayerPrivate::onPauseNotified):
1051                 (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
1052                 (WebCore::MediaPlayerPrivate::showErrorDialog):
1053                 (WebCore::MediaPlayerPrivate::platformWindow):
1054                 (WebCore::MediaPlayerPrivate::isElementPaused):
1055                 (WebCore::MediaPlayerPrivate::isTabVisible):
1056                 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1057                 (MediaPlayerPrivate):
1058
1059 2012-08-23  John Mellor  <johnme@chromium.org>
1060
1061         Text Autosizing: Multiply large fonts less, as they are already more legible.
1062         https://bugs.webkit.org/show_bug.cgi?id=94227
1063
1064         Reviewed by Kenneth Rohde Christiansen.
1065
1066         Rather than uniformly multiplying font sizes by the multiplier (derived
1067         from the width of the block), we should multiply fonts that are already
1068         large less, since they are already more legible hence there is less need
1069         for them to grow.
1070
1071         However it is still important to maintain differentiation between text
1072         that the author specified to be of different sizes.
1073
1074         This algorithm multiplies text by the multiplier up until a predefined
1075         "pleasant" font size; beyond that the computedSize goes up with
1076         specifiedSize but at a gradient of less than 1 in order to gradually
1077         fade out the size increase; finally for very large specifiedSizes the
1078         computedSize will be the same as the specifiedSize.
1079
1080         For further details, including a graph, please see the bug report.
1081
1082         Test: fast/text-autosizing/various-font-sizes.html
1083
1084         * rendering/TextAutosizer.cpp:
1085         (WebCore::TextAutosizer::computeAutosizedFontSize):
1086
1087             Implements the custom multiplication. See comment for details.
1088
1089         * rendering/style/RenderStyle.cpp:
1090         (WebCore::RenderStyle::lineHeight):
1091
1092             Use computeAutosizedFontSize instead of directly multiplying.
1093
1094         (WebCore::RenderStyle::setFontSize):
1095
1096             Use computeAutosizedFontSize instead of directly multiplying.
1097
1098 2012-08-23  Emil A Eklund  <eae@chromium.org>
1099
1100         Remove dependency on RenderStyle from FractionalLayoutBoxExtent and LayoutBox
1101         https://bugs.webkit.org/show_bug.cgi?id=94146
1102
1103         Reviewed by Eric Seidel.
1104
1105         FractionalLayoutBoxExtent and LayoutBox currently have a dependency on
1106         RenderStyle to resolve writing mode and text direction.
1107         This is undesirable and breaks encapsulation.
1108
1109         Change FractionalLayoutBoxExtent and LengthBox to take a writing mode
1110         parameter, and text direction as needed, instead of a pointer to a
1111         RenderStyle object.
1112
1113         No new tests, no change in functionality.
1114
1115         * WebCore.gypi:
1116         * WebCore.vcproj/WebCore.vcproj:
1117         * WebCore.xcodeproj/project.pbxproj:
1118         Add new WritingMode.h file.
1119         
1120         * css/CSSPrimitiveValueMappings.h:
1121         * css/CSSProperty.h:
1122         * css/CSSToStyleMap.h:
1123         Change includes as needed.
1124
1125         * platform/LengthBox.h:
1126         * platform/LengthBox.cpp:
1127         (WebCore::LengthBox::logicalLeft):
1128         (WebCore::LengthBox::logicalRight):
1129         (WebCore::LengthBox::before):
1130         (WebCore::LengthBox::after):
1131         Change methods to take a WirtingMode parameter instead of a RenderStyle pointer.
1132         
1133         (WebCore::LengthBox::start):
1134         (WebCore::LengthBox::end):
1135         Change methods to take WritingMode and TextDirection parameters instead of a RenderStyle pointer.
1136         
1137         * platform/graphics/FractionalLayoutBoxExtent.h:
1138         * platform/graphics/FractionalLayoutBoxExtent.cpp:
1139         (WebCore::FractionalLayoutBoxExtent::logicalTop):
1140         (WebCore::FractionalLayoutBoxExtent::logicalBottom):
1141         (WebCore::FractionalLayoutBoxExtent::logicalLeft):
1142         (WebCore::FractionalLayoutBoxExtent::logicalRight):
1143         (WebCore::FractionalLayoutBoxExtent::before):
1144         (WebCore::FractionalLayoutBoxExtent::after):
1145         (WebCore::FractionalLayoutBoxExtent::setBefore):
1146         (WebCore::FractionalLayoutBoxExtent::setAfter):
1147         (WebCore::FractionalLayoutBoxExtent::mutableLogicalLeft):
1148         (WebCore::FractionalLayoutBoxExtent::mutableLogicalRight):
1149         (WebCore::FractionalLayoutBoxExtent::mutableBefore):
1150         (WebCore::FractionalLayoutBoxExtent::mutableAfter):
1151         Change methods to take a WritingMode parameter instead of a RenderStyle pointer.
1152
1153         (WebCore::FractionalLayoutBoxExtent::start):
1154         (WebCore::FractionalLayoutBoxExtent::end):
1155         (WebCore::FractionalLayoutBoxExtent::setStart):
1156         (WebCore::FractionalLayoutBoxExtent::setEnd):
1157         Change methods to take WritingMode and TextDirection parameters instead of a RenderStyle pointer.
1158
1159         * platform/text/TextDirection.h:
1160         (WebCore::isLeftToRightDirection):
1161         Add convenience method.
1162         
1163         * platform/text/WritingMode.h: Added.
1164         Move WritingMode enum from RenderStyleConstants to new file.
1165         
1166         (WebCore::isHorizontalWritingMode):
1167         (WebCore::isFlippedLinesWritingMode):
1168         (WebCore::isFlippedBlocksWritingMode):
1169         Add convenience methods for working with writing modes.
1170         
1171         * rendering/InlineFlowBox.cpp:
1172         * rendering/RenderBox.cpp:
1173         * rendering/RenderBox.h:
1174         * rendering/style/RenderStyle.h:
1175         Update calls to FractionalLayoutBoxExtent/LengthBox to pass WritingMode/
1176         TextDirection as needed.
1177
1178         * rendering/style/RenderStyleConstants.h:
1179         Remove WritingMode enum as it is now in a dedicated file.
1180
1181 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
1182
1183         Web Inspector: introduce canFilter on panel (otherwise we check for function existence).
1184         https://bugs.webkit.org/show_bug.cgi?id=94820
1185
1186         Reviewed by Alexander Pavlov.
1187
1188         Drive-by: fix for network panel sorting null pointer access.
1189
1190         * inspector/front-end/NetworkPanel.js:
1191         (WebInspector.NetworkPanel.prototype.performSearch):
1192         (WebInspector.NetworkPanel.prototype.canFilter):
1193         * inspector/front-end/Panel.js:
1194         (WebInspector.Panel.prototype.replaceAllWith):
1195         (WebInspector.Panel.prototype.canFilter):
1196         (WebInspector.Panel.prototype.performFilter):
1197         * inspector/front-end/SearchController.js:
1198         (WebInspector.SearchController.prototype._updateFilterVisibility):
1199         (WebInspector.SearchController.prototype._performFilter):
1200
1201 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
1202
1203         Web Inspector: introduce TimelineGrid.Calculator interface.
1204         https://bugs.webkit.org/show_bug.cgi?id=94819
1205
1206         Reviewed by Alexander Pavlov.
1207
1208         This way we can compile TimelineGrid properly.
1209
1210         * inspector/front-end/MemoryStatistics.js:
1211         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
1212         * inspector/front-end/TimelineGrid.js:
1213         (WebInspector.TimelineGrid.prototype.updateDividers):
1214         (WebInspector.TimelineGrid.Calculator):
1215         (WebInspector.TimelineGrid.Calculator.prototype.computePosition):
1216         (WebInspector.TimelineGrid.Calculator.prototype.formatTime):
1217         (WebInspector.TimelineGrid.Calculator.prototype.minimumBoundary):
1218         (WebInspector.TimelineGrid.Calculator.prototype.maximumBoundary):
1219         (WebInspector.TimelineGrid.Calculator.prototype.boundarySpan):
1220         * inspector/front-end/TimelineOverviewPane.js:
1221         (WebInspector.TimelineOverviewCalculator.prototype.computePosition):
1222         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
1223         (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
1224         (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
1225         (WebInspector.TimelineOverviewCalculator.prototype.maximumBoundary):
1226         (WebInspector.TimelineOverviewCalculator.prototype.minimumBoundary):
1227         (WebInspector.TimelineOverviewCalculator.prototype.boundarySpan):
1228         * inspector/front-end/TimelinePanel.js:
1229         (WebInspector.TimelinePanel.prototype._shouldShowFrames):
1230         (WebInspector.TimelineCalculator.prototype.computePosition):
1231         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
1232         (WebInspector.TimelineCalculator.prototype.setWindow):
1233         (WebInspector.TimelineCalculator.prototype.formatTime):
1234         (WebInspector.TimelineCalculator.prototype.maximumBoundary):
1235         (WebInspector.TimelineCalculator.prototype.minimumBoundary):
1236         (WebInspector.TimelineCalculator.prototype.boundarySpan):
1237
1238 2012-08-23  David Reveman  <reveman@chromium.org>
1239
1240         [Chromium] Unnecessary delay when starting to update resources with an inactive vsync timer.
1241         https://bugs.webkit.org/show_bug.cgi?id=94719
1242
1243         Reviewed by James Robinson.
1244
1245         Replace nextTickTime() with nextTickTimeIfActivated() and return
1246         appropriate value when timer is inactive.
1247
1248         No new tests.
1249
1250         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
1251         (WebCore::CCDelayBasedTimeSource::nextTickTimeIfActivated):
1252         (WebCore::CCDelayBasedTimeSource::nextTickTarget):
1253         (WebCore):
1254         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
1255         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1256         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1257         (WebCore::CCFrameRateController::nextTickTimeIfActivated):
1258         * platform/graphics/chromium/cc/CCFrameRateController.h:
1259         (CCFrameRateController):
1260         * platform/graphics/chromium/cc/CCScheduler.cpp:
1261         (WebCore::CCScheduler::processScheduledActions):
1262         * platform/graphics/chromium/cc/CCTimeSource.h:
1263         (CCTimeSource):
1264
1265 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
1266
1267         Web Inspector: make treeoutline.js compiler-friendly
1268         https://bugs.webkit.org/show_bug.cgi?id=94818
1269
1270         Reviewed by Alexander Pavlov.
1271
1272         This change declares base methods on TreeElement so that we did not need to check for their existence.
1273
1274         * inspector/front-end/AdvancedSearchController.js:
1275         (WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
1276         (WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
1277         * inspector/front-end/ElementsTreeOutline.js:
1278         (WebInspector.ElementsTreeElement.prototype.onselect):
1279         * inspector/front-end/SidebarPane.js:
1280         (WebInspector.SidebarPane.prototype.expand):
1281         (WebInspector.SidebarPane.prototype.onexpand):
1282         (WebInspector.SidebarPane.prototype.collapse):
1283         * inspector/front-end/treeoutline.js:
1284         (TreeOutline.prototype._treeKeyDown):
1285         (TreeOutline.prototype._searchInputKeyDown):
1286         (TreeElement.prototype._fireDidChange):
1287         (TreeElement.prototype._attach):
1288         (TreeElement.treeElementDoubleClicked):
1289         (TreeElement.prototype.collapse):
1290         (TreeElement.prototype.expand):
1291         (TreeElement.prototype.reveal):
1292         (TreeElement.prototype.select):
1293         (TreeElement.prototype.deselect):
1294         (TreeElement.prototype.onpopulate):
1295         (TreeElement.prototype.onenter):
1296         (TreeElement.prototype.ondelete):
1297         (TreeElement.prototype.onspace):
1298         (TreeElement.prototype.onattach):
1299         (TreeElement.prototype.onexpand):
1300         (TreeElement.prototype.oncollapse):
1301         (TreeElement.prototype.ondblclick):
1302         (TreeElement.prototype.onreveal):
1303         (TreeElement.prototype.onselect):
1304
1305 2012-08-23  Yury Semikhatsky  <yurys@chromium.org>
1306
1307         Web Inspector: use temporary directory for modules generated by compile-front-end.py
1308         https://bugs.webkit.org/show_bug.cgi?id=94804
1309
1310         Reviewed by Pavel Feldman.
1311
1312         Create temporary directory for generated js modules and remove the directory
1313         after the compilation.
1314
1315         * inspector/compile-front-end.py:
1316
1317 2012-08-23  Simon Hausmann  <simon.hausmann@nokia.com>
1318
1319         [Qt] Fix make install on Windows
1320         https://bugs.webkit.org/show_bug.cgi?id=94816
1321
1322         Reviewed by Laszlo Gombos.
1323
1324         This old left-over rule for Windows to add dlltarget to INSTALLS caused
1325         various bugs: WebCore's Makefile had an actual install target that
1326         tried to install the WebCore static library and it also screwed up
1327         api.pri's install rule by overriding what is usually set up for qt
1328         modules, i.e. the install path was missing INSTALL_ROOT. We don't need
1329         these rules at all, the default qmake features take care of setting up
1330         target install rules accordingly.
1331
1332         * WebCore.pri:
1333
1334 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
1335
1336         Web Inspector: extract ParsedURL into a separate file.
1337         https://bugs.webkit.org/show_bug.cgi?id=94817
1338
1339         Reviewed by Alexander Pavlov.
1340
1341         * WebCore.gypi:
1342         * WebCore.vcproj/WebCore.vcproj:
1343         * inspector/compile-front-end.py:
1344         * inspector/front-end/AuditRules.js:
1345         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1346         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
1347         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
1348         * inspector/front-end/DefaultTextEditor.js:
1349         (WebInspector.TextEditorMainPanel.prototype._rewriteHref):
1350         * inspector/front-end/ParsedURL.js: Added.
1351         (WebInspector.ParsedURL):
1352         (WebInspector.ParsedURL.completeURL):
1353         (WebInspector.ParsedURL.prototype.get displayName):
1354         (String.prototype.asParsedURL):
1355         * inspector/front-end/ResourceUtils.js:
1356         (WebInspector.resourceURLForRelatedNode):
1357         * inspector/front-end/StylesSidebarPane.js:
1358         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
1359         * inspector/front-end/WebKit.qrc:
1360         * inspector/front-end/inspector.html:
1361
1362 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
1363
1364         Web Inspector: register context menu providers for lazily loaded panels.
1365         https://bugs.webkit.org/show_bug.cgi?id=94812
1366
1367         Reviewed by Alexander Pavlov.
1368
1369         - Panel descriptors now register providers that lazily load panels on demand.
1370         - Removed custom profiles context provider infrastructure in favor of generic one.
1371
1372         * WebCore.gypi:
1373         * WebCore.vcproj/WebCore.vcproj:
1374         * inspector/compile-front-end.py:
1375         * inspector/front-end/NetworkPanel.js:
1376         (WebInspector.NetworkPanel):
1377         * inspector/front-end/NetworkPanelDescriptor.js: Added.
1378         (WebInspector.NetworkPanelDescriptor):
1379         (WebInspector.NetworkPanelDescriptor.prototype.appendApplicableItems):
1380         * inspector/front-end/ObjectPropertiesSection.js:
1381         (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
1382         * inspector/front-end/ProfilesPanel.js:
1383         (WebInspector.ProfilesPanel):
1384         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1385         (WebInspector.ProfilesPanel.prototype.appendApplicableItems.didReceiveHeapObjectId):
1386         (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
1387         * inspector/front-end/ScriptsPanel.js:
1388         (WebInspector.ScriptsPanel):
1389         * inspector/front-end/ScriptsPanelDescriptor.js: Added.
1390         (WebInspector.ScriptsPanelDescriptor):
1391         (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):
1392         * inspector/front-end/WebKit.qrc:
1393         * inspector/front-end/inspector.html:
1394         * inspector/front-end/inspector.js:
1395         (WebInspector._panelDescriptors):
1396
1397 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1398
1399         Unreviewed. Fix make distcheck.
1400
1401         * GNUmakefile.am: Add idl files in Modules/quota to EXTRA_DIST.
1402         * GNUmakefile.list.am: Add missing files to compilation.
1403
1404 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1405
1406         REGRESSION(r126306): it broke the plugin process
1407         https://bugs.webkit.org/show_bug.cgi?id=94797
1408
1409         Reviewed by Xan Lopez.
1410
1411         * GNUmakefile.am:
1412         * GNUmakefile.list.am:
1413
1414 2012-08-23  Simon Hausmann  <simon.hausmann@nokia.com>
1415
1416         Unreviewed trivial build fix for Qt/Mac on OS X 10.6: Avoid using an
1417         enum value that clashes with an existing class name that's used in the
1418         same file.
1419
1420         * bridge/qt/qt_runtime.cpp:
1421         (JSC::Bindings::valueRealType):
1422         (JSC::Bindings::convertValueToQVariant):
1423
1424 2012-08-22  Patrick Gansterer  <paroga@webkit.org>
1425
1426         Build fix for WinCE after r126359.
1427
1428         * rendering/RenderThemeWinCE.cpp:
1429
1430 2012-08-23  Dominic Cooney  <dominicc@chromium.org>
1431
1432         Unreviewed, rolling out r126391.
1433         http://trac.webkit.org/changeset/126391
1434         https://bugs.webkit.org/show_bug.cgi?id=94302
1435
1436         Breaks Chromium browser_tests AccessibilityFooter,
1437         AccessibilityListMarkers, AccessibilityUI
1438
1439         * accessibility/AccessibilityNodeObject.cpp:
1440         * accessibility/AccessibilityNodeObject.h:
1441         (AccessibilityNodeObject):
1442         * accessibility/AccessibilityObject.cpp:
1443         * accessibility/AccessibilityObject.h:
1444         (AccessibilityObject):
1445         * accessibility/AccessibilityRenderObject.cpp:
1446         (WebCore::AccessibilityRenderObject::title):
1447         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1448         (WebCore::AccessibilityRenderObject::isDescendantOfElementType):
1449         * accessibility/AccessibilityRenderObject.h:
1450         (AccessibilityRenderObject):
1451
1452 2012-08-23  Andrey Adaikin  <aandrey@chromium.org>
1453
1454         Web Inspector: [WebGL] Allow collecting calls for Resource objects affecting their states
1455         https://bugs.webkit.org/show_bug.cgi?id=94686
1456
1457         Reviewed by Pavel Feldman.
1458
1459         Allow collecting calls for WebGL Resource objects affecting their states.
1460         Clone Call's mutable arguments before pushing it to the log.
1461
1462         * inspector/InjectedScriptWebGLModuleSource.js:
1463         (.):
1464
1465 2012-08-23  Robin Cao  <robin.cao@torchmobile.com.cn>
1466
1467         [BlackBerry] draw <video> on <canvas> does not work
1468         https://bugs.webkit.org/show_bug.cgi?id=94791
1469         PR #195866
1470
1471         Reviewed by George Staikos.
1472
1473         Re-implement MediaPlayerPrivate::paintCurrentFrameInContext() in the
1474         blackberry port. This method is mainly called from <canvas>, and it
1475         is supposed to paint video frames using software rendering path.
1476
1477         On the other hand, MediaPlayerPrivate::paint() will choose accelerated
1478         rendering if possible.
1479
1480         media/video-canvas-alpha.html covers this.
1481
1482         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1483         (WebCore::MediaPlayerPrivate::paint):
1484         (WebCore):
1485         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
1486         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1487         (MediaPlayerPrivate):
1488
1489 2012-08-23  Kentaro Hara  <haraken@chromium.org>
1490
1491         Unreviewed. Build fix for r126399.
1492
1493         * bindings/v8/ScriptInstance.cpp:
1494
1495 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
1496
1497         Web Inspector: treat 0 cookies as "no cookies" and render it accordingly in the UI
1498         https://bugs.webkit.org/show_bug.cgi?id=94732
1499
1500         Reviewed by Yury Semikhatsky.
1501
1502         * inspector/front-end/RequestCookiesView.js:
1503         (WebInspector.RequestCookiesView.prototype.get _gotCookies):
1504
1505 2012-08-23  KwangYong Choi  <ky0.choi@samsung.com>
1506
1507         [EFL] Use vertical slider theme when the slider is vertical
1508         https://bugs.webkit.org/show_bug.cgi?id=93838
1509
1510         Reviewed by Kenneth Rohde Christiansen.
1511
1512         Applied vertical slider theme to the vertical sliders. The height
1513         of the vertical slider is wrong when it's applied horizontal
1514         slider theme.
1515
1516         And do not resize slider when its size is not specified. It's natural
1517         to use the default value of renderer.
1518
1519         No new tests. It's covered by existing range and datalist tests.
1520
1521         * platform/efl/RenderThemeEfl.cpp:
1522         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
1523
1524 2012-08-23  Kentaro Hara  <haraken@chromium.org>
1525
1526         [V8] Remove almost all #include "V8Proxy.h"
1527         https://bugs.webkit.org/show_bug.cgi?id=94777
1528
1529         Reviewed by Adam Barth.
1530
1531         No tests. No change in behavior.
1532
1533         * bindings/v8/NPV8Object.cpp:
1534         * bindings/v8/PageScriptDebugServer.cpp:
1535         * bindings/v8/ScheduledAction.cpp:
1536         * bindings/v8/ScriptController.cpp:
1537         * bindings/v8/ScriptInstance.cpp:
1538         * bindings/v8/ScriptObject.cpp:
1539         * bindings/v8/ScriptRunner.cpp:
1540         * bindings/v8/SerializedScriptValue.cpp:
1541         * bindings/v8/V8AbstractEventListener.cpp:
1542         * bindings/v8/V8Binding.h:
1543         (WebCore):
1544         * bindings/v8/V8BindingMacros.h:
1545         (WebCore):
1546         * bindings/v8/V8Collection.h:
1547         * bindings/v8/V8DOMWindowShell.cpp:
1548         * bindings/v8/V8DOMWrapper.cpp:
1549         * bindings/v8/V8EventListener.cpp:
1550         * bindings/v8/V8GCController.cpp:
1551         * bindings/v8/V8LazyEventListener.cpp:
1552         * bindings/v8/V8NPObject.cpp:
1553         * bindings/v8/V8NPUtils.cpp:
1554         * bindings/v8/V8Proxy.h:
1555         (WebCore):
1556         * bindings/v8/V8Utilities.cpp:
1557         * bindings/v8/WorkerContextExecutionProxy.cpp:
1558         * bindings/v8/WorkerScriptController.cpp:
1559         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1560         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1561         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
1562         * bindings/v8/custom/V8AudioContextCustom.cpp:
1563         * bindings/v8/custom/V8BlobCustom.cpp:
1564         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1565         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1566         * bindings/v8/custom/V8ClipboardCustom.cpp:
1567         * bindings/v8/custom/V8ConsoleCustom.cpp:
1568         * bindings/v8/custom/V8CoordinatesCustom.cpp:
1569         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1570         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1571         * bindings/v8/custom/V8DataViewCustom.cpp:
1572         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1573         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1574         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1575         * bindings/v8/custom/V8DocumentCustom.cpp:
1576         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1577         * bindings/v8/custom/V8EntryCustom.cpp:
1578         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1579         * bindings/v8/custom/V8EventCustom.cpp:
1580         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1581         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1582         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1583         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1584         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
1585         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1586         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1587         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1588         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
1589         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
1590         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1591         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
1592         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1593         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1594         * bindings/v8/custom/V8HistoryCustom.cpp:
1595         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1596         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1597         * bindings/v8/custom/V8IntentConstructor.cpp:
1598         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
1599         * bindings/v8/custom/V8LocationCustom.cpp:
1600         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1601         * bindings/v8/custom/V8MessageEventCustom.cpp:
1602         * bindings/v8/custom/V8MessagePortCustom.cpp:
1603         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
1604         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1605         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1606         * bindings/v8/custom/V8NodeCustom.cpp:
1607         * bindings/v8/custom/V8NodeListCustom.cpp:
1608         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1609         * bindings/v8/custom/V8NotificationCustom.cpp:
1610         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1611         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1612         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1613         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1614         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1615         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1616         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1617         * bindings/v8/custom/V8StorageCustom.cpp:
1618         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1619         * bindings/v8/custom/V8TrackEventCustom.cpp:
1620         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1621         * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
1622         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1623         * bindings/v8/custom/V8WebSocketCustom.cpp:
1624         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1625         * bindings/v8/custom/V8WorkerCustom.cpp:
1626         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1627         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1628         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1629
1630 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1631
1632         Unreviewed, rolling out r126348.
1633         http://trac.webkit.org/changeset/126348
1634         https://bugs.webkit.org/show_bug.cgi?id=94588
1635
1636         We should use v8::String::NewSymbol() for symbols. See
1637         https://bugs.webkit.org/show_bug.cgi?id=94574#c10 for more
1638         details
1639
1640         * bindings/scripts/CodeGeneratorV8.pm:
1641         (GenerateNormalAttrGetter):
1642         (GenerateNormalAttrSetter):
1643         (GenerateNamedConstructorCallback):
1644         (GenerateNonStandardFunction):
1645         (GenerateImplementation):
1646         * bindings/scripts/test/V8/V8Float64Array.cpp:
1647         (WebCore::ConfigureV8Float64ArrayTemplate):
1648         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1649         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1650         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1651         (WebCore::ConfigureV8TestEventTargetTemplate):
1652         * bindings/scripts/test/V8/V8TestInterface.cpp:
1653         (WebCore::ConfigureV8TestInterfaceTemplate):
1654         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1655         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1656         * bindings/scripts/test/V8/V8TestObj.cpp:
1657         (WebCore::ConfigureV8TestObjTemplate):
1658         (WebCore::V8TestObj::installPerContextProperties):
1659         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1660         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
1661         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
1662         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
1663         * bindings/v8/V8Binding.h:
1664         (WebCore):
1665
1666 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1667
1668         [V8] Remove V8Proxy from CodeGeneratorV8.pm
1669         https://bugs.webkit.org/show_bug.cgi?id=94773
1670
1671         Reviewed by Adam Barth.
1672
1673         To kill V8Proxy, we can remove V8Proxy uses from CodeGeneratorV8.pm.
1674
1675         No tests. No change in behavior.
1676
1677         * bindings/scripts/CodeGeneratorV8.pm:
1678         (GenerateToV8Converters):
1679         * bindings/scripts/test/V8/V8Float64Array.cpp:
1680         (WebCore::V8Float64Array::wrapSlow):
1681         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1682         (WebCore::V8TestActiveDOMObject::wrapSlow):
1683         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1684         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1685         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1686         (WebCore::V8TestEventConstructor::wrapSlow):
1687         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1688         (WebCore::V8TestEventTarget::wrapSlow):
1689         * bindings/scripts/test/V8/V8TestException.cpp:
1690         (WebCore::V8TestException::wrapSlow):
1691         * bindings/scripts/test/V8/V8TestInterface.cpp:
1692         (WebCore::V8TestInterface::wrapSlow):
1693         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1694         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1695         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1696         (WebCore::V8TestNamedConstructor::wrapSlow):
1697         * bindings/scripts/test/V8/V8TestNode.cpp:
1698         (WebCore::V8TestNode::wrapSlow):
1699         * bindings/scripts/test/V8/V8TestObj.cpp:
1700         (WebCore::V8TestObj::wrapSlow):
1701         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1702         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1703
1704 2012-08-22  Sukolsak Sakshuwong  <sukolsak@google.com>
1705
1706         Implement UndoManager's item() method
1707         https://bugs.webkit.org/show_bug.cgi?id=94671
1708
1709         Reviewed by Ryosuke Niwa.
1710
1711         This patch implements UndoManager's item() method and its V8 custom binding.
1712         We need to use custom binding here because we need to return user objects
1713         that are stored in a hidden property of DOMTransaction wrappers, not returning
1714         the wrappers themselves.
1715
1716         Test: editing/undomanager/undomanager-item.html
1717
1718         * bindings/js/JSUndoManagerCustom.cpp:
1719         (WebCore::JSUndoManager::item):
1720         (WebCore):
1721         * bindings/v8/DOMTransaction.cpp:
1722         (WebCore::DOMTransaction::data):
1723         (WebCore):
1724         (WebCore::DOMTransaction::setData):
1725         (WebCore::DOMTransaction::getFunction):
1726         * bindings/v8/DOMTransaction.h:
1727         * bindings/v8/custom/V8UndoManagerCustom.cpp:
1728         (WebCore::V8UndoManager::transactCallback):
1729         (WebCore::V8UndoManager::itemCallback):
1730         (WebCore):
1731         * editing/UndoManager.cpp:
1732         (WebCore::UndoManager::item):
1733         (WebCore):
1734         * editing/UndoManager.h:
1735         (UndoManager):
1736         * editing/UndoManager.idl:
1737
1738 2012-08-22  Dominic Mazzoni  <dmazzoni@google.com>
1739
1740         AX: Focusable elements without a role should not be ignored
1741         https://bugs.webkit.org/show_bug.cgi?id=94302
1742
1743         Reviewed by Chris Fleizach.
1744
1745         Changes the accessibility logic so that a generic element that's focusable is
1746         not ignored for accessibility, and returns its inner text as its title. That way
1747         if you Tab to the element, a reasonable accessibility notification is generated.
1748
1749         One exception is the body element, because focusing the body is equivalent to
1750         blurring the current focused element and does not result in a "focus" accessibility
1751         notification.
1752
1753         Also fixes logic that determined if an element was contentEditable by making
1754         sure it catches the case with no attribute value (e.g. <div contentEditable>),
1755         which also implies contentEditable=true according to the spec.
1756
1757         Test: accessibility/focusable-div.html
1758
1759         * accessibility/AccessibilityRenderObject.cpp:
1760         (WebCore):
1761         (WebCore::nodeHasContentEditableAttributeSet):
1762         (WebCore::AccessibilityRenderObject::title):
1763         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1764
1765 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1766
1767         Unreviewed, rolling out r126383.
1768         http://trac.webkit.org/changeset/126383
1769         https://bugs.webkit.org/show_bug.cgi?id=82888
1770
1771         Chromium win build crash
1772
1773         * bindings/js/JSClipboardCustom.cpp:
1774         (WebCore::JSClipboard::types):
1775         * bindings/v8/custom/V8ClipboardCustom.cpp:
1776         (WebCore::V8Clipboard::typesAccessorGetter):
1777         * dom/Clipboard.h:
1778         (Clipboard):
1779         * platform/blackberry/ClipboardBlackBerry.cpp:
1780         (WebCore::ClipboardBlackBerry::types):
1781         * platform/blackberry/ClipboardBlackBerry.h:
1782         (ClipboardBlackBerry):
1783         * platform/chromium/ChromiumDataObject.cpp:
1784         (WebCore::ChromiumDataObject::types):
1785         * platform/chromium/ChromiumDataObject.h:
1786         (ChromiumDataObject):
1787         * platform/chromium/ClipboardChromium.cpp:
1788         (WebCore::ClipboardChromium::types):
1789         * platform/chromium/ClipboardChromium.h:
1790         (ClipboardChromium):
1791         * platform/efl/ClipboardEfl.cpp:
1792         (WebCore::ClipboardEfl::types):
1793         * platform/efl/ClipboardEfl.h:
1794         (ClipboardEfl):
1795         * platform/gtk/ClipboardGtk.cpp:
1796         (WebCore::ClipboardGtk::types):
1797         * platform/gtk/ClipboardGtk.h:
1798         (ClipboardGtk):
1799         * platform/mac/ClipboardMac.h:
1800         (ClipboardMac):
1801         * platform/mac/ClipboardMac.mm:
1802         (WebCore::addHTMLClipboardTypesForCocoaType):
1803         (WebCore::ClipboardMac::types):
1804         * platform/qt/ClipboardQt.cpp:
1805         (WebCore::ClipboardQt::types):
1806         * platform/qt/ClipboardQt.h:
1807         (ClipboardQt):
1808         * platform/win/ClipboardWin.cpp:
1809         (WebCore::addMimeTypesForFormat):
1810         (WebCore::ClipboardWin::types):
1811         * platform/win/ClipboardWin.h:
1812         (ClipboardWin):
1813         * platform/wx/ClipboardWx.cpp:
1814         (WebCore::ClipboardWx::types):
1815         * platform/wx/ClipboardWx.h:
1816         (ClipboardWx):
1817
1818 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1819
1820         [V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptController
1821         https://bugs.webkit.org/show_bug.cgi?id=94770
1822
1823         Reviewed by Adam Barth.
1824
1825         Now m_isolatedWorlds and m_isolatedWorldSecurityOrigins of V8Proxy
1826         are used by ScriptController only. We can move them to ScriptController.
1827
1828         No tests. No change in behavior.
1829
1830         * bindings/v8/ScriptController.cpp:
1831         (WebCore::ScriptController::resetIsolatedWorlds):
1832         (WebCore::ScriptController::evaluateInIsolatedWorld):
1833         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
1834         (WebCore::ScriptController::collectIsolatedContexts):
1835         * bindings/v8/ScriptController.h:
1836         (ScriptController):
1837         * bindings/v8/V8Proxy.h:
1838         (V8Proxy):
1839
1840 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1841
1842         [V8] Move evaluate() from V8Proxy to ScriptController
1843         https://bugs.webkit.org/show_bug.cgi?id=94768
1844
1845         Reviewed by Adam Barth.
1846
1847         To kill V8Proxy, we can move evaluate() from V8Proxy to ScriptController.
1848
1849         - Renamed evaluate() to compileAndRunScript() to avoid name conflict
1850         with existing ScriptController::evaluate().
1851
1852         - Removed toV8Proxy() from NPV8Object, as it is no longer used.
1853
1854         No tests. No change in behavior.
1855
1856         * bindings/v8/NPV8Object.cpp:
1857         (_NPN_EvaluateHelper):
1858         * bindings/v8/ScheduledAction.cpp:
1859         (WebCore::ScheduledAction::execute):
1860         * bindings/v8/ScriptController.cpp:
1861         (WebCore::ScriptController::compileAndRunScript):
1862         (WebCore):
1863         (WebCore::ScriptController::evaluate):
1864         (WebCore::ScriptController::evaluateInIsolatedWorld):
1865         * bindings/v8/ScriptController.h:
1866         (ScriptController):
1867         * bindings/v8/V8Proxy.cpp:
1868         * bindings/v8/V8Proxy.h:
1869
1870 2012-08-22  Vineet Chaudhary  <rgf748@motorola.com>
1871
1872         Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>.
1873         https://bugs.webkit.org/show_bug.cgi?id=82888
1874
1875         Reviewed by Kentaro Hara.
1876
1877         As part of removing custom bindings of types Array Clipboard::types() needs to return
1878         Vector<String> than HashSet<String>
1879
1880         No new tests. Exixting test should pass with this change as no behavoural changes.
1881
1882         * bindings/js/JSClipboardCustom.cpp: Replace data type from HashSet<> to Vector<>.
1883         (WebCore::JSClipboard::types):
1884         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
1885         (WebCore::V8Clipboard::typesAccessorGetter):
1886         * dom/Clipboard.h: Ditto.
1887         (Clipboard):
1888         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
1889         (WebCore::ClipboardBlackBerry::types):
1890         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
1891         (ClipboardBlackBerry):
1892         * platform/chromium/ChromiumDataObject.cpp: Ditto.
1893         (WebCore::ChromiumDataObject::types):
1894         * platform/chromium/ChromiumDataObject.h: Ditto.
1895         (ChromiumDataObject):
1896         * platform/chromium/ClipboardChromium.cpp: Ditto.
1897         (WebCore::ClipboardChromium::types):
1898         * platform/chromium/ClipboardChromium.h: Ditto.
1899         (ClipboardChromium):
1900         * platform/efl/ClipboardEfl.cpp: Ditto.
1901         (WebCore::ClipboardEfl::types):
1902         * platform/efl/ClipboardEfl.h: Ditto.
1903         (ClipboardEfl):
1904         * platform/gtk/ClipboardGtk.cpp: Ditto.
1905         (WebCore::ClipboardGtk::types):
1906         * platform/gtk/ClipboardGtk.h: Ditto.
1907         (ClipboardGtk):
1908         * platform/mac/ClipboardMac.h: Ditto.
1909         (ClipboardMac):
1910         * platform/mac/ClipboardMac.mm: Ditto.
1911         (WebCore::addHTMLClipboardTypesForCocoaType):
1912         (WebCore::ClipboardMac::types):
1913         * platform/qt/ClipboardQt.cpp: Ditto.
1914         (WebCore::ClipboardQt::types):
1915         * platform/qt/ClipboardQt.h: Ditto.
1916         (ClipboardQt):
1917         * platform/win/ClipboardWin.cpp: Ditto.
1918         (WebCore::addMimeTypesForFormat):
1919         (WebCore::ClipboardWin::types):
1920         * platform/win/ClipboardWin.h: Ditto.
1921         (ClipboardWin):
1922         * platform/wx/ClipboardWx.cpp: Ditto.
1923         (WebCore::ClipboardWx::types):
1924         * platform/wx/ClipboardWx.h: Ditto.
1925         (ClipboardWx):
1926
1927 2012-08-22  James Robinson  <jamesr@chromium.org>
1928
1929         [chromium] Change WebLayer from a concrete type to a pure virtual interface
1930         https://bugs.webkit.org/show_bug.cgi?id=94174
1931
1932         Reviewed by Adrienne Walker.
1933
1934         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
1935         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
1936         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
1937         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
1938         m_transformLayer) and assembles the final layer tree.
1939
1940         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1941         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1942         (ScrollingCoordinatorPrivate):
1943         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1944         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1945         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1946         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1947         (WebCore::scrollableLayerForGraphicsLayer):
1948         (WebCore):
1949         (WebCore::createScrollbarLayer):
1950         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1951         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1952         (WebCore::ScrollingCoordinator::setScrollLayer):
1953         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1954         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1955         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1956         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1957         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1958         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1959         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1960         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1961         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1962         (WebCore::Canvas2DLayerBridge::layer):
1963         (WebCore::Canvas2DLayerBridge::contextAcquired):
1964         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1965         (Canvas2DLayerBridge):
1966         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1967         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1968         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1969         (WebCore::DrawingBufferPrivate::layer):
1970         (DrawingBufferPrivate):
1971         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1972         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1973         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1974         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1975         (WebCore::GraphicsLayerChromium::updateNames):
1976         (WebCore::GraphicsLayerChromium::removeFromParent):
1977         (WebCore::GraphicsLayerChromium::setSize):
1978         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1979         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1980         (WebCore::GraphicsLayerChromium::setFilters):
1981         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1982         (WebCore::GraphicsLayerChromium::setMaskLayer):
1983         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1984         (WebCore::GraphicsLayerChromium::setOpacity):
1985         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1986         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1987         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1988         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1989         (WebCore::GraphicsLayerChromium::setContentsToImage):
1990         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1991         (WebCore):
1992         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1993         (WebCore::GraphicsLayerChromium::setContentsTo):
1994         (WebCore::GraphicsLayerChromium::addAnimation):
1995         (WebCore::GraphicsLayerChromium::pauseAnimation):
1996         (WebCore::GraphicsLayerChromium::removeAnimation):
1997         (WebCore::GraphicsLayerChromium::suspendAnimations):
1998         (WebCore::GraphicsLayerChromium::resumeAnimations):
1999         (WebCore::GraphicsLayerChromium::platformLayer):
2000         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
2001         (WebCore::GraphicsLayerChromium::setDebugBorder):
2002         (WebCore::GraphicsLayerChromium::updateChildList):
2003         (WebCore::GraphicsLayerChromium::updateLayerPosition):
2004         (WebCore::GraphicsLayerChromium::updateLayerSize):
2005         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
2006         (WebCore::GraphicsLayerChromium::updateTransform):
2007         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2008         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
2009         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2010         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2011         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
2012         (WebCore::GraphicsLayerChromium::updateContentsRect):
2013         (WebCore::GraphicsLayerChromium::updateContentsScale):
2014         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2015         * platform/graphics/chromium/GraphicsLayerChromium.h:
2016         (GraphicsLayerChromium):
2017         (WebCore::GraphicsLayerChromium::hasContentsLayer):
2018         (WebCore::GraphicsLayerChromium::contentLayer):
2019         (WebCore::GraphicsLayerChromium::contentsLayer):
2020         * platform/graphics/chromium/LayerChromium.cpp:
2021         (WebCore::LayerChromium::rootLayer):
2022         * platform/graphics/chromium/LayerChromium.h:
2023
2024 2012-08-22  Kentaro Hara  <haraken@chromium.org>
2025
2026         [V8] Move runScript() from V8Proxy to ScriptRunner
2027         https://bugs.webkit.org/show_bug.cgi?id=94706
2028
2029         Reviewed by Adam Barth.
2030
2031         To kill V8Proxy, we can move runScript() from V8Proxy to ScriptRunner.
2032
2033         - ScriptRunner::runScript() should be a static method.
2034         It should receive ScriptExecutionContext on which the script is evaluated.
2035
2036         - After this patch is landed, I'll remove WorkerContextExecutionContext::runScript()
2037         and ScriptDebugServer::runScript().
2038
2039         No tests. No change in behavior.
2040
2041         * UseV8.cmake:
2042         * WebCore.gypi:
2043         * bindings/v8/ScriptController.cpp:
2044         * bindings/v8/ScriptRunner.cpp: Added.
2045         (WebCore):
2046         (WebCore::ScriptRunner::runScript):
2047         * bindings/v8/ScriptRunner.h: Added.
2048         (WebCore):
2049         (ScriptRunner):
2050         * bindings/v8/V8Binding.cpp:
2051         (WebCore::handleMaxRecursionDepthExceeded):
2052         (WebCore):
2053         * bindings/v8/V8Binding.h:
2054         (WebCore):
2055         * bindings/v8/V8Proxy.cpp:
2056         (WebCore::V8Proxy::evaluate):
2057         * bindings/v8/V8Proxy.h:
2058         (V8Proxy):
2059
2060 2012-08-22  Adam Barth  <abarth@webkit.org>
2061
2062         [V8] OwnHandle doesn't need to support weak handles
2063         https://bugs.webkit.org/show_bug.cgi?id=94760
2064
2065         Reviewed by Kentaro Hara.
2066
2067         No code uses makeWeak(). We can drop support for it and simplify this
2068         class.
2069
2070         * bindings/v8/OwnHandle.h:
2071         (WebCore):
2072         (OwnHandle):
2073         (WebCore::OwnHandle::OwnHandle):
2074         (WebCore::OwnHandle::~OwnHandle):
2075         (WebCore::OwnHandle::get):
2076         (WebCore::OwnHandle::set):
2077         (WebCore::OwnHandle::clear):
2078
2079 2012-08-22  Kentaro Hara  <haraken@chromium.org>
2080
2081         [V8] Remove V8Proxy from getXPathNSResolver()
2082         https://bugs.webkit.org/show_bug.cgi?id=94715
2083
2084         Reviewed by Adam Barth.
2085
2086         - The V8Proxy* argument of getXPathNSResolver(..., V8Proxy* = 0) is not used.
2087           We can remove it.
2088
2089         - We can rename getXPathNSResolver() to toXPathNSResolver().
2090
2091         - We can move toXPathNSResolver() from V8DOMWrapper to V8Binding,
2092           since other toXXX() methods are written in V8Binding.
2093
2094         - Change the return value of toXPathNSResolver() from RefPtr to PassRefPtr.
2095
2096         No tests. No change in behavior.
2097
2098         * bindings/scripts/CodeGeneratorV8.pm:
2099         (JSValueToNative):
2100         * bindings/v8/V8Binding.cpp:
2101         (WebCore::toXPathNSResolver):
2102         (WebCore):
2103         * bindings/v8/V8Binding.h:
2104         (WebCore):
2105         * bindings/v8/V8DOMWrapper.cpp:
2106         * bindings/v8/V8DOMWrapper.h:
2107         (V8DOMWrapper):
2108         * bindings/v8/custom/V8DocumentCustom.cpp:
2109         (WebCore::V8Document::evaluateCallback):
2110
2111 2012-08-22  Kenneth Russell  <kbr@google.com>
2112
2113         Unreviewed, rolling out r126325.
2114         http://trac.webkit.org/changeset/126325
2115         https://bugs.webkit.org/show_bug.cgi?id=94644
2116
2117         Caused subtle but reproducible failure to call onload handler
2118         properly in an SVG layout test in Chromium Mac Debug builds,
2119         indicating potentially larger problem
2120
2121         * css/CSSFontSelector.cpp:
2122         (WebCore::CSSFontSelector::beginLoadTimerFired):
2123         * loader/cache/CachedResourceLoader.cpp:
2124         (WebCore::CachedResourceLoader::decrementRequestCount):
2125
2126 2012-08-22  Victor Carbune  <victor@rosedu.org>
2127
2128         Display a TextTrackCue when snap-to-lines flag is set
2129         https://bugs.webkit.org/show_bug.cgi?id=79751
2130
2131         Reviewed by Tony Chang.
2132
2133         This patch implements rendering functionality for a given text track,
2134         following closer the exact WebVTT specification. There are two new classes
2135         which have been added in order to succesfully cover rendering when of a text
2136         track cue.
2137
2138         RenderTextTrackCue handles the specific rendering algorithm required,
2139         by checking for overlaps with other boxes that are in the same
2140         container (these can be any other boxes, not necessarily other cues,
2141         the video controls, for example).
2142
2143         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
2144         between the renderer class and the actual cue object. Its purpose is
2145         to instantiate the particular renderer and cover all the default CSS
2146         styling that needs to be applied to the cue.
2147
2148         The layout is done in two steps:
2149           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
2150         the TextTrackCueBox decorated with the respective CSS elements)
2151           - Step 2: RenderTextTrackCue adjusts the box position depending on the
2152         parameters of the TextTrackCue object and the overlaps that may occur with
2153         previously positioned cues.
2154
2155         Tests: media/track/track-cue-rendering-horizontal.html
2156                media/track/track-cue-rendering-vertical.html
2157
2158         * CMakeLists.txt: Updated to include RenderTextTrackCue.
2159         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
2160         * Target.pri: Updated to include RenderTextTrackCue.
2161         * WebCore.gypi: Updated to include RenderTextTrackCue.
2162         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
2163         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
2164         * css/mediaControls.css: Removed unreliable CSS.
2165         (video::-webkit-media-text-track-display): Removed properties.
2166         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
2167         (RenderTextTrackContainerElement):
2168         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
2169         the function by moving the check if track is rendered in TextTrack and used
2170         the TextTrackCueBox for cues.
2171         * html/track/TextTrack.cpp: Added a new method.
2172         (WebCore::TextTrack::isRendered): Method that returns whether the track should
2173         be rendered or not.
2174         (WebCore):
2175         * html/track/TextTrack.h: Added the isRendered method.
2176         (TextTrack):
2177         * html/track/TextTrackCue.cpp: Added several helper methods and
2178         the TextTrackCueBox.
2179         (WebCore):
2180         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
2181         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
2182         and TextTrackCue. This is required as the layout is done in two steps, as
2183         explained on top of the ChangeLog entry.
2184         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
2185         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
2186         properties, as defined by section 3.5.1 of the WebVTT specification.
2187         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
2188         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
2189         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
2190         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
2191         position algorithm. This requires, however, a method to consider only rendered
2192         tracks (and therefore will be addressed completely in subsequent changeset).
2193         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
2194         computed display parameters to match the current specification.
2195         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
2196         and moved CSS application to the respective class.
2197         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
2198         situation this method is used and change visibility to private.
2199         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
2200         to the cue writing mode.
2201         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
2202         writing direction.
2203         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
2204         used in the first layout step.
2205         * html/track/TextTrackCue.h:
2206         (WebCore):
2207         (TextTrackCueBox):
2208         (WebCore::TextTrackCueBox::create): Initialization method.
2209         (TextTrackCue):
2210         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
2211         values used to represent the writing direction.
2212         * rendering/RenderTextTrackCue.cpp: Added.
2213         (WebCore):
2214         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
2215         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
2216         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
2217         case. It is implemented following closely the spec, and might be subject to
2218         change as discussions on various bugs evolve.
2219         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
2220         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
2221         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
2222         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
2223         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
2224         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
2225         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
2226         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
2227         for text track cue when the snap to lines flag is set.
2228         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
2229         for text track cue when the snap to lines flag is not set. Not implemented yet.
2230         * rendering/RenderTextTrackCue.h: Added.
2231         (WebCore):
2232         (RenderTextTrackCue): Rendering class, handling the display of cues.
2233
2234 2012-08-21  Kentaro Hara  <haraken@chromium.org>
2235
2236         [V8] Move matchesCurrentContext() from V8Proxy to ScriptController
2237         https://bugs.webkit.org/show_bug.cgi?id=94596
2238
2239         Reviewed by Adam Barth.
2240
2241         To kill V8Proxy:
2242
2243         - We can move matchesCurrentContext() from V8Proxy to ScriptController.
2244         - We can remove V8Proxy::isolatedWorldContext() since it is not used by anybody.
2245         - We can remove V8Proxy::finishedWithEvent() since it is empty.
2246
2247         No tests. No change in behavior.
2248
2249         * bindings/scripts/CodeGeneratorV8.pm:
2250         (GenerateToV8Converters):
2251         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2252         (WebCore::V8TestActiveDOMObject::wrapSlow):
2253         * bindings/scripts/test/V8/V8TestNode.cpp:
2254         (WebCore::V8TestNode::wrapSlow):
2255         * bindings/v8/ScriptController.cpp:
2256         (WebCore::ScriptController::finishedWithEvent):
2257         (WebCore::ScriptController::matchesCurrentContext):
2258         (WebCore):
2259         * bindings/v8/ScriptController.h:
2260         (ScriptController):
2261         * bindings/v8/V8Proxy.cpp:
2262         * bindings/v8/V8Proxy.h:
2263         (V8Proxy):
2264
2265 2012-08-22  Alejandro PiƱeiro  <apinheiro@igalia.com>
2266
2267         [Gtk] Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
2268         https://bugs.webkit.org/show_bug.cgi?id=73819
2269
2270         Reviewed by Chris Fleizach.
2271
2272         Added a new role, Toggle Button, based on whether aria-pressed is present.
2273         http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed
2274
2275         Test: platform/gtk/accessibility/aria-toggle-button-role.html
2276
2277         * accessibility/AccessibilityNodeObject.cpp:
2278         (WebCore::AccessibilityNodeObject::determineAccessibilityRole): using buttonRoleType
2279         to classify a button-related role.
2280         (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute): using buttonRoleType
2281         to classify a button-related role.
2282         * accessibility/AccessibilityObject.cpp:
2283         (WebCore::AccessibilityObject::ariaPressedIsPresent): checks if aria-pressed
2284         attribute is present.
2285         (WebCore::AccessibilityObject::buttonRoleType): returns a specific button-related
2286         role if the object is a button-related role.
2287         * accessibility/AccessibilityObject.h:
2288         (AccessibilityObject): added new role ToggleButtonRole.
2289         * accessibility/AccessibilityRenderObject.cpp:
2290         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): using buttonRoleType
2291         to classify a button-related role.
2292         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2293         (atkRole): added a mapping between ToggleButtonRole and
2294         ATK_ROLE_TOGGLE_BUTTON.
2295         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2296         (createAccessibilityRoleMap): added a mapping between
2297         ToggleButtonRole and NSAccessibilityButtonRole
2298
2299 2012-08-22  David Grogan  <dgrogan@chromium.org>
2300
2301         IndexedDB: revert int version when version change transaction aborts
2302         https://bugs.webkit.org/show_bug.cgi?id=94662
2303
2304         Reviewed by Tony Chang.
2305
2306         Test: storage/indexeddb/intversion-revert-on-abort.html
2307
2308         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2309         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
2310         (WebCore::IDBDatabaseBackendImpl::resetIntVersion):
2311         One-liner modeled after resetVersion.
2312
2313         (WebCore):
2314         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2315         (IDBDatabaseBackendImpl):
2316
2317 2012-08-17  Jeffrey Pfau  <jpfau@apple.com>
2318
2319         Allow blocking of Web SQL databases in third-party web workers
2320         https://bugs.webkit.org/show_bug.cgi?id=94170
2321
2322         Reviewed by Adam Barth.
2323
2324         Web workers did not previously know anything about the document that
2325         spawned them. This is undefined for shared workers, but for dedicated
2326         workers, we now pipe the information through.
2327
2328         Tests: http/tests/security/cross-origin-worker-websql-allowed.html
2329                http/tests/security/cross-origin-worker-websql.html
2330
2331         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Pass information about the top origin to canAccessDatabase
2332         (WebCore::WorkerContextWebDatabase::openDatabase):
2333         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
2334         * WebCore.exp.in: Make SecurityOrigin::isolatedCopy const
2335         * page/SecurityOrigin.cpp:
2336         (WebCore::SecurityOrigin::isolatedCopy):
2337         (WebCore::SecurityOrigin::canAccessStorage):
2338         * page/SecurityOrigin.h:
2339         * workers/DedicatedWorkerContext.cpp: Pass topOrigin
2340         (WebCore::DedicatedWorkerContext::create):
2341         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
2342         * workers/DedicatedWorkerContext.h:
2343         (DedicatedWorkerContext):
2344         * workers/DedicatedWorkerThread.cpp: Pass topOrigin
2345         (WebCore::DedicatedWorkerThread::create):
2346         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
2347         (WebCore::DedicatedWorkerThread::createWorkerContext):
2348         * workers/DedicatedWorkerThread.h:
2349         (DedicatedWorkerThread):
2350         * workers/SharedWorkerContext.cpp: Pass topOrigin
2351         (WebCore::SharedWorkerContext::SharedWorkerContext):
2352         * workers/SharedWorkerThread.cpp:
2353         (WebCore::SharedWorkerThread::SharedWorkerThread):
2354         (WebCore::SharedWorkerThread::createWorkerContext):
2355         * workers/SharedWorkerThread.h:
2356         (SharedWorkerThread): Pass topOrigin
2357         * workers/WorkerContext.cpp:
2358         (WebCore::WorkerContext::WorkerContext):
2359         * workers/WorkerContext.h:
2360         (WebCore::WorkerContext::topOrigin):
2361         (WorkerContext):
2362         * workers/WorkerMessagingProxy.cpp: Pass topOrigin
2363         (WebCore::WorkerMessagingProxy::startWorkerContext):
2364         * workers/WorkerThread.cpp:
2365         (WebCore::WorkerThreadStartupData::create):
2366         (WorkerThreadStartupData):
2367         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2368         (WebCore::WorkerThread::WorkerThread):
2369         (WebCore::WorkerThread::workerThread):
2370         * workers/WorkerThread.h:
2371         (WorkerThread):
2372
2373 2012-08-22  Kentaro Hara  <haraken@chromium.org>
2374
2375         [V8] Move context() from V8Proxy to ScriptController
2376         https://bugs.webkit.org/show_bug.cgi?id=94593
2377
2378         Reviewed by Adam Barth.
2379
2380         - This patch removes V8Proxy::context(Frame*).
2381         - This patch moves V8Proxy::context() to ScriptController::context().
2382         - This patch renames ScriptController::context() to ScriptController::currentWorldContext(),
2383         for naming consistency with ScriptController::maintWorldContext().
2384
2385         No tests. No change in behavior.
2386
2387         * bindings/scripts/CodeGeneratorV8.pm:
2388         (GenerateToV8Converters):
2389         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2390         (WebCore::V8TestActiveDOMObject::wrapSlow):
2391         * bindings/scripts/test/V8/V8TestNode.cpp:
2392         (WebCore::V8TestNode::wrapSlow):
2393         * bindings/v8/ScriptController.cpp:
2394         (WebCore::ScriptController::context):
2395         (WebCore):
2396         * bindings/v8/ScriptController.h:
2397         (ScriptController):
2398         * bindings/v8/V8DOMWrapper.cpp:
2399         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
2400         * bindings/v8/V8Proxy.cpp:
2401         * bindings/v8/V8Proxy.h:
2402         (V8Proxy):
2403         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2404         (WebCore::WindowSetTimeoutImpl):
2405         (WebCore::V8DOMWindow::eventAccessorGetter):
2406         (WebCore::V8DOMWindow::eventAccessorSetter):
2407         (WebCore::DialogHandler::dialogCreated):
2408         (WebCore::toV8):
2409         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2410         (WebCore::V8HTMLDocument::openCallback):
2411
2412 2012-08-22  Kentaro Hara  <haraken@chromium.org>
2413
2414         [V8] Remove V8Proxy from V8DOMWrapper::instantiateV8Object()
2415         https://bugs.webkit.org/show_bug.cgi?id=94713
2416
2417         Reviewed by Adam Barth.
2418
2419         To kill V8Proxy, V8DOMWrapper::instantiateV8Object() should receive Frame*
2420         instead of V8Proxy*.
2421
2422         No tests. No change in behavior.
2423
2424         * bindings/scripts/CodeGeneratorV8.pm:
2425         (GenerateToV8Converters):
2426         * bindings/scripts/test/V8/V8Float64Array.cpp:
2427         (WebCore::V8Float64Array::wrapSlow):
2428         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2429         (WebCore::V8TestActiveDOMObject::wrapSlow):
2430         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2431         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2432         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2433         (WebCore::V8TestEventConstructor::wrapSlow):
2434         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2435         (WebCore::V8TestEventTarget::wrapSlow):
2436         * bindings/scripts/test/V8/V8TestException.cpp:
2437         (WebCore::V8TestException::wrapSlow):
2438         * bindings/scripts/test/V8/V8TestInterface.cpp:
2439         (WebCore::V8TestInterface::wrapSlow):
2440         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2441         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2442         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2443         (WebCore::V8TestNamedConstructor::wrapSlow):
2444         * bindings/scripts/test/V8/V8TestNode.cpp:
2445         (WebCore::V8TestNode::wrapSlow):
2446         * bindings/scripts/test/V8/V8TestObj.cpp:
2447         (WebCore::V8TestObj::wrapSlow):
2448         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2449         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2450         * bindings/v8/V8DOMWrapper.cpp:
2451         (WebCore):
2452         (WebCore::V8DOMWrapper::instantiateV8Object):
2453         * bindings/v8/V8DOMWrapper.h:
2454         (V8DOMWrapper):
2455
2456 2012-08-22  Joshua Bell  <jsbell@chromium.org>
2457
2458         IndexedDB: IDBRequest can be destructed during abort
2459         https://bugs.webkit.org/show_bug.cgi?id=94618
2460
2461         Reviewed by Tony Chang.
2462
2463         If there are no script references, an IDBRequest could be kept alive
2464         only by enqueued events. On document destruction, the parent transaction
2465         is aborted, which aborts the request. During the abort, the enqueued events
2466         are deleted, releasing the last reference to the IDBRequest which then
2467         destructs in mid-method call and an "unfinished" state, hitting an assert.
2468
2469         This patch keeps the IDBRequest alive through the completion of the abort()
2470         method, which will enqueue another event. In the document destruction case,
2471         this will end up with the IDBRequest having stop() called on it which will
2472         send the IDBRequest into EarlyDeath state, satisfying the destructor assert.
2473
2474         Addresses existing layout tests that behave flakily in Chromium port.
2475
2476         * Modules/indexeddb/IDBRequest.cpp:
2477         (WebCore::IDBRequest::abort):
2478
2479 2012-08-22  Kentaro Hara  <haraken@chromium.org>
2480
2481         [V8] Move precompileScript() from V8Proxy to ScriptSourceCode
2482         https://bugs.webkit.org/show_bug.cgi?id=94701
2483
2484         Reviewed by Adam Barth.
2485
2486         To kill V8Proxy, we can move precompileScript() from V8Proxy
2487         to ScriptSourceCode.
2488
2489         No tests. No change in behavior.
2490
2491         * bindings/v8/ScriptSourceCode.cpp:
2492         (WebCore::ScriptSourceCode::precompileScript):
2493         (WebCore):
2494         * bindings/v8/ScriptSourceCode.h:
2495         (ScriptSourceCode):
2496         * bindings/v8/V8Proxy.cpp:
2497         (WebCore::V8Proxy::evaluate):
2498         * bindings/v8/V8Proxy.h:
2499         (V8Proxy):
2500
2501 2012-08-22  Nikhil Bhargava  <nbhargava@google.com>
2502
2503         Reduce Font.h includes across project -- improves RenderObject.h compile time
2504         https://bugs.webkit.org/show_bug.cgi?id=93629
2505
2506         Reviewed by Eric Seidel.
2507
2508         RenderStyle.h no longer depends on Font.h. The files that transitively
2509         need to be updated with proper includes are fixed.
2510
2511         No new tests. Functionality should remain the same.
2512
2513         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2514         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2515         * bindings/objc/DOM.mm:
2516         * css/CSSComputedStyleDeclaration.cpp:
2517         * css/CSSPrimitiveValue.cpp:
2518         * css/StyleResolver.h:
2519         * dom/CharacterData.cpp:
2520         * dom/ElementRareData.h:
2521         * dom/NodeRenderingContext.cpp:
2522         * dom/Text.cpp:
2523         * editing/TextIterator.cpp:
2524         * editing/mac/EditorMac.mm:
2525         * html/HTMLTitleElement.cpp:
2526         * html/shadow/TextControlInnerElements.cpp:
2527         * inspector/InspectorOverlay.cpp:
2528         * page/ContextMenuController.cpp:
2529         * page/PrintContext.cpp:
2530         * platform/efl/RenderThemeEfl.cpp:
2531         * platform/graphics/FontMetrics.h:
2532         * platform/gtk/RenderThemeGtk.cpp:
2533         * platform/gtk/RenderThemeGtk2.cpp:
2534         * platform/mac/HTMLConverter.mm:
2535         * rendering/EllipsisBox.cpp:
2536         * rendering/FlowThreadController.cpp:
2537         * rendering/InlineBox.cpp:
2538         * rendering/InlineFlowBox.cpp:
2539         * rendering/InlineFlowBox.h:
2540         (WebCore):
2541         * rendering/RenderButton.cpp:
2542         * rendering/RenderCombineText.cpp:
2543         * rendering/RenderCombineText.h:
2544         * rendering/RenderDeprecatedFlexibleBox.cpp:
2545         * rendering/RenderEmbeddedObject.h:
2546         (WebCore):
2547         * rendering/RenderFileUploadControl.cpp:
2548         * rendering/RenderFullScreen.h:
2549         * rendering/RenderImage.cpp:
2550         * rendering/RenderInline.cpp:
2551         * rendering/RenderListItem.cpp:
2552         * rendering/RenderListMarker.cpp:
2553         * rendering/RenderMultiColumnBlock.cpp:
2554         * rendering/RenderRegion.h:
2555         * rendering/RenderRuby.cpp:
2556         * rendering/RenderRubyRun.cpp:
2557         * rendering/RenderScrollbar.cpp:
2558         * rendering/RenderTable.cpp:
2559         * rendering/RenderTableCell.cpp:
2560         * rendering/RenderTableRow.cpp:
2561         * rendering/RenderTableSection.cpp:
2562         * rendering/RenderTextControl.cpp:
2563         * rendering/RenderTextControlMultiLine.cpp:
2564         * rendering/RenderThemeChromiumSkia.cpp:
2565         * rendering/RenderView.cpp:
2566         * rendering/TextAutosizer.cpp:
2567         * rendering/mathml/RenderMathMLBlock.h:
2568         * rendering/style/KeyframeList.h:
2569         * rendering/style/RenderStyle.cpp:
2570         * rendering/style/RenderStyle.h:
2571         (WebCore):
2572         * rendering/style/StyleInheritedData.cpp:
2573         * rendering/svg/RenderSVGBlock.cpp:
2574         * rendering/svg/RenderSVGInlineText.h:
2575         * svg/SVGLengthContext.cpp:
2576         * svg/SVGTRefElement.cpp:
2577
2578 2012-08-22  Alex Christensen  <alex.christensen@flexsim.com>
2579         win64 compile error fix for BinaryPropertyList.cpp
2580         https://bugs.webkit.org/show_bug.cgi?id=94122
2581
2582         Reviewed by Eric Seidel.
2583
2584         Fixed compile errors for MSVC x64 without changing performance
2585
2586         * platform/cf/BinaryPropertyList.cpp:
2587         (WebCore::BinaryPropertyListSerializer::appendStringObject):
2588
2589 2012-08-22  Kwang Yul Seo  <skyul@company100.net>
2590
2591         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
2592         https://bugs.webkit.org/show_bug.cgi?id=93857
2593
2594         Reviewed by Eric Seidel.
2595
2596         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to
2597         HTMLElementStack because it traverses the element stack and finds the
2598         furthest block for the given formatting element.
2599
2600         Currently, it belongs to HTMLTreeBuilder just because
2601         isSpecialNode(const HTMLStackItem*) function used by
2602         furthestBlockForFormattingElement is internal to HTMLTreeBuilder.
2603
2604         Moved isSpecialNode to HTMLStackItem and changed
2605         furthestBlockForFormattingElement to be a method of HTMLElementStack.
2606
2607         No behavior change. Just a refactoring.
2608
2609         * html/parser/HTMLElementStack.cpp:
2610         (WebCore):
2611         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
2612         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
2613         (WebCore::HTMLElementStack::furthestBlockForFormattingElement):
2614         * html/parser/HTMLElementStack.h:
2615         (HTMLElementStack):
2616         * html/parser/HTMLStackItem.h:
2617         (WebCore::HTMLStackItem::isInHTMLNamespace):
2618         (HTMLStackItem):
2619         (WebCore::HTMLStackItem::isNumberedHeaderElement):
2620         (WebCore::HTMLStackItem::isTableBodyContextElement):
2621         (WebCore::HTMLStackItem::isSpecialNode):
2622         * html/parser/HTMLTreeBuilder.cpp:
2623         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
2624         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
2625         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2626         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
2627         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2628         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
2629         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
2630         * html/parser/HTMLTreeBuilder.h:
2631
2632 2012-08-22  Alexandre Elias  <aelias@google.com>
2633
2634         [chromium] Add software bitmap resources to CCResourceProvider
2635         https://bugs.webkit.org/show_bug.cgi?id=93677
2636
2637         Reviewed by Adrienne Walker.
2638
2639         Second commit after revert.
2640
2641         This adds the ability to CCResourceProvider to use software bitmaps.
2642         They are allocated as plain-old-memory, and exposed as Skia objects.
2643
2644         We want the ResourceProvider to be able to handle different resource
2645         types at the same time.  In practice, a default resource type is
2646         desired for most uses within a single compositor instance, which is
2647         specified by the default resource type.  Default resource types are
2648         expected to be mostly 1-to-1 with CCRenderer types.
2649
2650         New tests added by parametrizing existing CCResourceProvider tests.
2651
2652         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2653         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2654         * platform/graphics/chromium/LayerRendererChromium.cpp:
2655         (WebCore::applyFilters):
2656         (WebCore::LayerRendererChromium::drawRenderPassQuad):
2657         (WebCore::LayerRendererChromium::drawTileQuad):
2658         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
2659         (WebCore::LayerRendererChromium::drawTextureQuad):
2660         (WebCore::LayerRendererChromium::getFramebufferTexture):
2661         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
2662         * platform/graphics/chromium/LayerRendererChromium.h:
2663         (DrawingFrame):
2664         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
2665         (WebCore::CCResourceProvider::createResource):
2666         (WebCore):
2667         (WebCore::CCResourceProvider::createGLTexture):
2668         (WebCore::CCResourceProvider::createBitmap):
2669         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
2670         (WebCore::CCResourceProvider::deleteResource):
2671         (WebCore::CCResourceProvider::upload):
2672         (WebCore::CCResourceProvider::flush):
2673         (WebCore::CCResourceProvider::shallowFlushIfSupported):
2674         (WebCore::CCResourceProvider::lockForRead):
2675         (WebCore::CCResourceProvider::unlockForRead):
2676         (WebCore::CCResourceProvider::lockForWrite):
2677         (WebCore::CCResourceProvider::unlockForWrite):
2678         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
2679         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
2680         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
2681         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
2682         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
2683         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
2684         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
2685         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
2686         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
2687         (WebCore::CCResourceProvider::CCResourceProvider):
2688         * platform/graphics/chromium/cc/CCResourceProvider.h:
2689         (WebCore):
2690         (WebCore::CCResourceProvider::setCreationPolicy):
2691         (WebCore::CCResourceProvider::creationPolicy):
2692         (CCResourceProvider):
2693         (ScopedReadLockGL):
2694         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
2695         (ScopedWriteLockGL):
2696         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
2697         (ScopedReadLockSoftware):
2698         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
2699         (ScopedWriteLockSoftware):
2700         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
2701         (Resource):
2702
2703 2012-08-22  Anna Cavender  <annacc@chromium.org>
2704
2705         Update the TextTrackCue Constructor
2706         https://bugs.webkit.org/show_bug.cgi?id=88583
2707
2708         Reviewed by Eric Carlson.
2709
2710         The TextTrackCue constructor has been changed to:
2711         [Constructor(double startTime, double endTime, DOMString text)]
2712         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue
2713
2714         No new tests.  Update to media/track/track-add-remove-cue.html
2715
2716         * html/track/TextTrackCue.cpp:
2717         (WebCore::TextTrackCue::TextTrackCue):
2718         * html/track/TextTrackCue.h:
2719         (WebCore::TextTrackCue::create):
2720         (TextTrackCue):
2721         * html/track/TextTrackCue.idl:
2722         * html/track/WebVTTParser.cpp:
2723         (WebCore::WebVTTParser::createNewCue):
2724
2725 2012-08-22  Erik Arvidsson  <arv@chromium.org>
2726
2727         Changing class attribute is not reflected in the classList property
2728         https://bugs.webkit.org/show_bug.cgi?id=93665
2729
2730         Reviewed by Ojan Vafai.
2731
2732         Before this change classAttributeChanged was only called for StyledElement. With this refactoring
2733         it gets called for all Elements when the class attribute changes.
2734
2735         Test: fast/dom/Element/class-list-update.html
2736
2737         * css/StyleResolver.cpp:
2738         (WebCore::StyleResolver::collectMatchingRules): To match the old behavior we only include StyledElements.
2739         * dom/ClassNodeList.cpp:
2740         (WebCore::ClassNodeList::nodeMatches): Ditto.
2741         * dom/Element.cpp:
2742         (WebCore::Element::attributeChanged): Moved the call to parseAttribute here, from StyledElement::attributeChanged.
2743         (WebCore::Element::parseAttribute): Moved from StyledElement.
2744         (WebCore):
2745         (WebCore::Element::classAttributeChanged): Ditto.
2746         * dom/Element.h:
2747         (Element):
2748         (WebCore::Element::classNames): Ditto.
2749         (WebCore):
2750         * dom/StyledElement.cpp:
2751         (WebCore::StyledElement::attributeChanged): Let Element::attributeChanged call parseAttribtue instead.
2752         (WebCore::StyledElement::parseAttribute): Move the class attribute handling to Element::parseAttribute.
2753         * dom/StyledElement.h:
2754         (StyledElement):
2755
2756 2012-08-22  Kentaro Hara  <haraken@chromium.org>
2757
2758         [V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
2759         https://bugs.webkit.org/show_bug.cgi?id=94588
2760
2761         Reviewed by Eric Seidel.
2762
2763         v8String() is faster than String::NewSymbol().
2764         This patch implements v8String(char*, Isolate*) and
2765         replaces String::NewSymbol(char*) in CodeGeneratorV8.pm
2766         with v8String(char*, Isolate*).
2767
2768         Performance result:
2769
2770         // 272 nano sec
2771         static v8::Handle<v8::Value> attr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
2772         {
2773             v8::Handle<v8::Value> v1 = v8String(String("foo"));
2774             v8::Handle<v8::Value> v2 = v8String(String("bar"));
2775             if (!v1.IsEmpty() && !v2.IsEmpty())
2776                 return v8Undefined();
2777             return v8::Null(); // Never reach.
2778         }
2779
2780         // 377 nano sec
2781         static v8::Handle<v8::Value> attr4AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
2782         {
2783             v8::Handle<v8::Value> v1 = v8::String::NewSymbol("foo");
2784             v8::Handle<v8::Value> v2 = v8::String::NewSymbol("bar");
2785             if (!v1.IsEmpty() && !v2.IsEmpty())
2786                 return v8Undefined();
2787             return v8::Null(); // Never reach.
2788         }
2789
2790         No tests. No change in behavior.
2791
2792         * bindings/scripts/CodeGeneratorV8.pm:
2793         (GenerateNormalAttrGetter):
2794         (GenerateNormalAttrSetter):
2795         (GenerateNamedConstructorCallback):
2796         (GenerateNonStandardFunction):
2797         (GenerateImplementation):
2798         * bindings/scripts/test/V8/V8Float64Array.cpp:
2799         (WebCore::ConfigureV8Float64ArrayTemplate):
2800         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2801         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2802         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2803         (WebCore::ConfigureV8TestEventTargetTemplate):
2804         * bindings/scripts/test/V8/V8TestInterface.cpp:
2805         (WebCore::ConfigureV8TestInterfaceTemplate):
2806         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2807         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2808         * bindings/scripts/test/V8/V8TestObj.cpp:
2809         (WebCore::ConfigureV8TestObjTemplate):
2810         (WebCore::V8TestObj::installPerContextProperties):
2811         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2812         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
2813         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
2814         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
2815         * bindings/v8/V8Binding.h:
2816         (WebCore):
2817         (WebCore::v8String):
2818         * html/HTMLDivElement.idl:
2819
2820 2012-08-22  Pratik Solanki  <psolanki@apple.com>
2821
2822         Setting WebKitEnableHTTPPipelining doesn't work if default is true
2823         https://bugs.webkit.org/show_bug.cgi?id=94537
2824
2825         Reviewed by David Kilzer.
2826
2827         * platform/network/cf/ResourceRequestCFNet.cpp:
2828         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Read in the HTTP pipelining pref and
2829         allow it to override the default pipelining behavior if it was actually set.
2830
2831 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
2832
2833         [chromium] Add touch link highlight animation layers.
2834         https://bugs.webkit.org/show_bug.cgi?id=84487
2835
2836         Reviewed by James Robinson.
2837
2838         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
2839         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
2840         Transform support currently limited to translation.
2841
2842         Unit tests for LinkHighlight revised.
2843
2844         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
2845                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
2846                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
2847                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
2848                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
2849                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
2850                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
2851                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
2852                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
2853                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
2854                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
2855                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
2856                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
2857                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
2858                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
2859                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
2860                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
2861                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
2862                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
2863                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
2864                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
2865                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
2866                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
2867                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
2868                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
2869                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
2870                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
2871                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
2872                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
2873                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
2874                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
2875                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
2876                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
2877                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
2878                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
2879                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
2880                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
2881                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
2882                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
2883                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
2884                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
2885
2886         * WebCore.gypi:
2887         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2888         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2889         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
2890         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
2891         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
2892         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
2893         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
2894         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
2895         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
2896         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
2897         * platform/graphics/chromium/GraphicsLayerChromium.h:
2898         (WebCore):
2899         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
2900         (WebCore::LinkHighlightClient::~LinkHighlightClient):
2901         (GraphicsLayerChromium):
2902         (WebCore::GraphicsLayerChromium::linkHighlight):
2903         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
2904
2905 2012-08-22  Beth Dakin  <bdakin@apple.com>
2906
2907         https://bugs.webkit.org/show_bug.cgi?id=94401
2908         Add support for making a web site become paginated using overflow: 
2909         paged-x | paged-y
2910         -and corresponding-
2911         <rdar://problem/11831783> 
2912
2913         Reviewed by Dave Hyatt.
2914
2915         This patch adds two new possible values for overflow-y. They are -
2916         webkit-paged-x and -webkit-paged-y. When you set these as overflow-y 
2917         values on the html or body element, they make the RenderView 
2918         paginated, much like the API on Page.
2919
2920         -webkit-paged-x and -webkit-paged-y are only valid values for 
2921         overflow-y, NOT overflow-x. overflow-x defaults to a value of auto 
2922         (for now) unless it has been set to something else.
2923         * css/CSSParser.cpp:
2924         (WebCore::isValidKeywordPropertyAndValue):
2925         (WebCore::CSSParser::parseValue):
2926
2927         Two new CSS value keywords.
2928         * css/CSSValueKeywords.in:
2929
2930         EOverflow has two new values for pagination. 
2931         * rendering/style/RenderStyleConstants.h:
2932         * css/CSSPrimitiveValueMappings.h:
2933         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2934         (WebCore::CSSPrimitiveValue::operator EOverflow):
2935
2936         A bunch of existing code from StyleResolver::styleForDocument() is 
2937         moved into a helper function so that it can be called from two 
2938         places. 
2939         * css/StyleResolver.cpp:
2940         (WebCore::StyleResolver::collectMatchingRulesForList):
2941
2942         Even though this pagination is very similar to Page::pagination(), it 
2943         is different in one critical way. Page::pagination() will apply to 
2944         all FrameViews, even those in the page cache. For this reason, 
2945         FrameView needs to keep its own Pagination value that just applies to 
2946         this FrameView.
2947         * page/FrameView.cpp:
2948         * page/FrameView.h:
2949         (WebCore):
2950         (FrameView):
2951
2952         Map RenderStyle values to a Pagination::Mode.
2953         (WebCore::paginationModeForRenderStyle):
2954         (WebCore):
2955
2956         Account for paged-x and paged-y here.
2957         (WebCore::FrameView::applyOverflowToViewport):
2958
2959         As is explained in the header, FrameView::pagination() will return 
2960         m_pagination if it has been set. Otherwise, it will return 
2961         Page::pagination() since currently there are no callers that need to 
2962         distinguish between the two.
2963         (WebCore::FrameView::pagination):
2964         (WebCore::FrameView::setPagination):
2965
2966         Generally this means that everywhere in WebCore should ask FrameView 
2967         for the pagination(), not Page. These call sites all look to 
2968         FrameView now.
2969         (WebCore::FrameView::paintContents):
2970         * rendering/RenderView.cpp:
2971         (WebCore::RenderView::requiresColumns):
2972         (WebCore::RenderView::calcColumnWidth):
2973         (WebCore::RenderView::paginationUnit):
2974         (WebCore::RenderView::viewLogicalHeight):
2975
2976         Since we need to define Pagination in Page.h AND FrameView.h, it is 
2977         now in its own header, Pagination.h. And therefore it is no longer 
2978         WebCore::Page::Pagination, but rather it is just WebCore::Pagination.
2979         * page/Page.h:
2980         (Page):
2981         * rendering/Pagination.h: Added.
2982         (WebCore):
2983         (WebCore::Pagination::Pagination):
2984         (Pagination):
2985         (WebCore::Pagination::operator==):
2986         (WebCore::Pagination::operator!=):
2987         * WebCore.exp.in:
2988         * WebCore.xcodeproj/project.pbxproj:
2989         * GNUmakefile.list.am:
2990         * Target.pri:
2991         * WebCore.exp.in:
2992         * WebCore.gypi:
2993
2994         Certain ColumnInfo values are set based on the RenderStyle. So if 
2995         those RenderStyle values change, the ColumnInfo needs to be updated.
2996         * rendering/RenderBlock.cpp:
2997         (WebCore::RenderBlock::updateColumnInfoFromStyle):
2998         (WebCore):
2999         * rendering/RenderBlock.h:
3000         (RenderBlock):
3001
3002         Factor in paged-x and paged-y when determining if a RenderBlock 
3003         requires columns.
3004         (WebCore::RenderBlock::requiresColumns):
3005
3006         RenderStyle::specifiesColumns() is an odd and probably broken 
3007         function. At the very least, it should be re-named, if not removed 
3008         entirely. It does not accurately assess if columns have been 
3009         specified. I had to add this code here because specifiesColumns() 
3010         returns false for paged-x and true for paged-y. We were hitting a 
3011         number of crashes with paged-y because of this, so I chose for the 
3012         time being to limit this check to non-root layers.
3013         * rendering/RenderLayer.cpp:
3014         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
3015
3016         It's just Pagination now, not Page::Pagination.
3017         * testing/InternalSettings.cpp:
3018         (WebCore::InternalSettings::reset):
3019         (WebCore::InternalSettings::setPagination):
3020
3021 2012-08-22  Dean Jackson  <dino@apple.com>
3022
3023         [WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
3024         https://bugs.webkit.org/show_bug.cgi?id=94030
3025
3026         Reviewed by Tim Horton.
3027
3028         ATI/AMD GPUs on Apple platforms do not give correct values for some of
3029         the built-in GLSL functions. Add a compile flag that is passed to ANGLE
3030         so that, with this configuration, it will rewrite the shader to emulate
3031         the function in code.
3032
3033         This is exposing some design weaknesses in the way we call ANGLE. We'll
3034         soon need to add more compiler flags; Future bugs will likely clean
3035         this code up. But this approach is satisfactory for the moment.
3036
3037         This change is tested by the Khronos WebGL conformance test suite, in particular:
3038         conformance/glsl/functions/glsl-function-distance.html
3039         conformance/glsl/functions/glsl-function-dot.html
3040         conformance/glsl/functions/glsl-function-length.html
3041
3042         * platform/graphics/ANGLEWebKitBridge.cpp:
3043         (WebCore::ANGLEWebKitBridge::validateShaderSource): Test for ATI cards
3044         on the Mac platform, and pass in an extra flag to the translation step.
3045         * platform/graphics/ANGLEWebKitBridge.h:
3046         (ANGLEWebKitBridge): Add a new parameter to getTranslatedShaderSourceANGLE
3047         that accepts some extra options to pass to ANGLE.
3048         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3049         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Pass
3050         the extra options into ANGLE's compile function.
3051
3052 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
3053
3054         [chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
3055         https://bugs.webkit.org/show_bug.cgi?id=93091
3056
3057         Reviewed by Adam Barth.
3058
3059         Fixing a FIXME that the patch obsoletes.
3060
3061         Covered by existing tests.
3062
3063         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3064         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
3065
3066 2012-08-22  Eric Penner  <epenner@google.com>
3067
3068         [chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
3069         https://bugs.webkit.org/show_bug.cgi?id=94165
3070
3071         Reviewed by Adrienne Walker.
3072
3073         Remove visible rect parameter from TiledLayerChromium functions. Passing a
3074         rect that is not the visible rect wouldn't make sense, and soon we might
3075         need further visibility information.
3076
3077         In refactoring the unit tests, I removed texture manager from all tests
3078         and put it in the test class. I also made some utility functions to 
3079         simulate the commit flow and remove tons of boilerplate code. I refactored
3080         about half the unit tests to use the utility functions.
3081
3082         Refactored tests.
3083
3084         * platform/graphics/chromium/ContentLayerChromium.cpp:
3085         (WebCore::ContentLayerChromium::update):
3086         (WebCore::ContentLayerChromium::needMoreUpdates):
3087         * platform/graphics/chromium/ImageLayerChromium.cpp:
3088         (WebCore::ImageLayerChromium::update):
3089         * platform/graphics/chromium/TiledLayerChromium.cpp:
3090         (WebCore):
3091         (WebCore::TiledLayerChromium::setTexturePriorities):
3092         (WebCore::TiledLayerChromium::resetUpdateState):
3093         (WebCore::TiledLayerChromium::update):
3094         (WebCore::TiledLayerChromium::needsIdlePaint):
3095         (WebCore::TiledLayerChromium::idlePaintRect):
3096         * platform/graphics/chromium/TiledLayerChromium.h:
3097         (TiledLayerChromium):
3098
3099 2012-08-22  Otto Derek Cheung  <otcheung@rim.com>
3100
3101         [BlackBerry] Add a check to filter out cookies that tries to set the 
3102         domain to a top level domain
3103         https://bugs.webkit.org/show_bug.cgi?id=94722
3104
3105         Reviewed by Rob Buis.
3106
3107         Adding conditions to check whether a cookie domain is a top level domain.
3108         If it is, throw it out when parsing.
3109
3110         Manual Testing by trying to insert a cookie with an invalid domain
3111         using web-inspector. (ex: when on news.yahoo.com.hk, try to document.
3112         cookie="test1=seeifthiscookieexist; domain=.com.hk")
3113
3114         PR121622
3115
3116         * platform/blackberry/CookieParser.cpp:
3117         WebCore::CookieParser::parseOneCookie):
3118
3119 2012-08-22  Rob Buis  <rwlbuis@webkit.org>
3120
3121         Remove RenderBlock::paintEllipsisBoxes
3122         https://bugs.webkit.org/show_bug.cgi?id=94709
3123
3124         Reviewed by Eric Seidel.
3125
3126         Remove unused method.
3127
3128         No change in functionality, no new tests.
3129
3130         * rendering/RenderBlock.cpp:
3131         (WebCore::RenderBlock::paintFloats):
3132         * rendering/RenderBlock.h:
3133         (RenderBlock):
3134
3135 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
3136
3137         MediaStream API: Introduce RTCSessionDescription
3138         https://bugs.webkit.org/show_bug.cgi?id=93119
3139
3140         Reviewed by Adam Barth.
3141
3142         This patch introduces RTCSessionDescription together with its
3143         corresponding WebCore/platform representation.
3144
3145         Test: fast/mediastream/RTCSessionDescription.html
3146
3147         * CMakeLists.txt:
3148         * GNUmakefile.list.am:
3149         * Modules/mediastream/DOMWindowMediaStream.idl:
3150         * Modules/mediastream/RTCSessionDescription.cpp: Added.
3151         (WebCore):
3152         (WebCore::RTCSessionDescription::create):
3153         (WebCore::RTCSessionDescription::RTCSessionDescription):
3154         (WebCore::RTCSessionDescription::~RTCSessionDescription):
3155         (WebCore::RTCSessionDescription::type):
3156         (WebCore::RTCSessionDescription::setType):
3157         (WebCore::RTCSessionDescription::sdp):
3158         (WebCore::RTCSessionDescription::setSdp):
3159         (WebCore::RTCSessionDescription::descriptor):
3160         * Modules/mediastream/RTCSessionDescription.h: Added.
3161         (WebCore):
3162         (RTCSessionDescription):
3163         * Modules/mediastream/RTCSessionDescription.idl: Added.
3164         * WebCore.gypi:
3165         * platform/mediastream/RTCSessionDescriptionDescriptor.cpp: Added.
3166         (WebCore):
3167         (WebCore::RTCSessionDescriptionDescriptor::create):
3168         (WebCore::RTCSessionDescriptionDescriptor::RTCSessionDescriptionDescriptor):
3169         (WebCore::RTCSessionDescriptionDescriptor::~RTCSessionDescriptionDescriptor):
3170         * platform/mediastream/RTCSessionDescriptionDescriptor.h: Added.
3171         (WebCore):
3172         (RTCSessionDescriptionDescriptor):
3173         (WebCore::RTCSessionDescriptionDescriptor::type):
3174         (WebCore::RTCSessionDescriptionDescriptor::setType):
3175         (WebCore::RTCSessionDescriptionDescriptor::sdp):
3176         (WebCore::RTCSessionDescriptionDescriptor::setSdp):
3177
3178 2012-08-22  Victor Carbune  <victor@rosedu.org>
3179
3180         DOM manipulation crashes the browser
3181
3182         Creating a DOM track element by script and changing the mode crashes
3183         results in a browser crash.
3184         https://bugs.webkit.org/show_bug.cgi?id=94628
3185
3186         Reviewed by Eric Carlson.
3187
3188         Simple fix that creates the text track cue list in case of mode change.
3189
3190         Test: media/track/track-element-dom-change-crash.html
3191
3192         * html/HTMLMediaElement.cpp:
3193         (WebCore::HTMLMediaElement::textTrackModeChanged):
3194
3195 2012-08-22  Ryosuke Niwa  <rniwa@webkit.org>
3196
3197         Microdata build fix.
3198
3199         * html/HTMLPropertiesCollection.h:
3200         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
3201
3202 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
3203
3204         MediaStream API: Introduce RTCIceCandidate
3205         https://bugs.webkit.org/show_bug.cgi?id=93117
3206
3207         Reviewed by Adam Barth.
3208
3209         This patch introduces RTCIceCandidate together with its corresponding
3210         WebCore/platform representation.
3211
3212         Test: fast/mediastream/RTCIceCandidate.html
3213
3214         * CMakeLists.txt:
3215         * GNUmakefile.list.am:
3216         * Modules/mediastream/DOMWindowMediaStream.idl:
3217         * Modules/mediastream/RTCIceCandidate.cpp: Added.
3218         (WebCore):
3219         (WebCore::RTCIceCandidate::create):
3220         (WebCore::RTCIceCandidate::RTCIceCandidate):
3221         (WebCore::RTCIceCandidate::~RTCIceCandidate):
3222         (WebCore::RTCIceCandidate::candidate):
3223         (WebCore::RTCIceCandidate::sdpMid):
3224         (WebCore::RTCIceCandidate::sdpMLineIndex):
3225         (WebCore::RTCIceCandidate::descriptor):
3226         * Modules/mediastream/RTCIceCandidate.h: Added.
3227         (WebCore):
3228         (RTCIceCandidate):
3229         * Modules/mediastream/RTCIceCandidate.idl: Added.
3230         * WebCore.gypi:
3231         * platform/mediastream/RTCIceCandidateDescriptor.cpp: Added.
3232         (WebCore):
3233         (WebCore::RTCIceCandidateDescriptor::create):
3234         (WebCore::RTCIceCandidateDescriptor::RTCIceCandidateDescriptor):
3235         (WebCore::RTCIceCandidateDescriptor::~RTCIceCandidateDescriptor):
3236         * platform/mediastream/RTCIceCandidateDescriptor.h: Added.
3237         (WebCore):
3238         (RTCIceCandidateDescriptor):
3239         (WebCore::RTCIceCandidateDescriptor::candidate):
3240         (WebCore::RTCIceCandidateDescriptor::sdpMid):
3241         (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):
3242
3243 2012-08-22  Mark Rowe  <mrowe@apple.com>
3244
3245         <http://webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being autoreleased without any autorelease pool in place
3246
3247         Reviewed by Dan Bernstein.
3248
3249         * page/scrolling/mac/ScrollingThreadMac.mm:
3250         (WebCore::ScrollingThread::threadRunLoopSourceCallback): Ensure that an autorelease pool is in place when
3251         dispatching functions on the scrolling thread.
3252
3253 2012-08-22  Pratik Solanki  <psolanki@apple.com>
3254
3255         Failure to dispatch delegate callbacks if resource load fails synchronously
3256         https://bugs.webkit.org/show_bug.cgi?id=94644
3257
3258         Reviewed by Antti Koivisto.
3259
3260         Resource loads can be triggered by layout after document load is
3261         complete but before we have dispatched didFinishLoadForFrame callback.
3262         In such cases, if the load fails synchronously due to the client
3263         returning 0 from willSendRequest callback, we would fail to call
3264         didFinishLoading. this was fixed for Font resources in r122446 for bug
3265         91018. This fixes it in the general case by having CachedResourceLoader
3266         call FrameLoader::checkLoadComplete() when it is done loading all
3267         resources.
3268
3269         * css/CSSFontSelector.cpp:
3270         (WebCore::CSSFontSelector::beginLoadTimerFired):
3271         * loader/cache/CachedResourceLoader.cpp:
3272         (WebCore::CachedResourceLoader::decrementRequestCount):
3273
3274 2012-08-22  Kenneth Russell  <kbr@google.com>
3275
3276         Unreviewed, rolling out r126319.
3277         http://trac.webkit.org/changeset/126319
3278         https://bugs.webkit.org/show_bug.cgi?id=84487
3279
3280         Broke Chromium Mac build
3281
3282         * WebCore.gypi:
3283         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3284         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3285         (WebCore::GraphicsLayerChromium::willBeDestroyed):
3286         (WebCore::GraphicsLayerChromium::updateNames):
3287         (WebCore::GraphicsLayerChromium::setSize):
3288         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
3289         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
3290         (WebCore::GraphicsLayerChromium::addLinkHighlight):
3291         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
3292         (WebCore):
3293         (WebCore::GraphicsLayerChromium::updateChildList):
3294         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
3295         * platform/graphics/chromium/GraphicsLayerChromium.h:
3296         (WebCore):
3297         (GraphicsLayerChromium):
3298         * platform/graphics/chromium/LinkHighlight.cpp: Added.
3299         (WebCore):
3300         (WebCore::LinkHighlight::create):
3301         (WebCore::LinkHighlight::LinkHighlight):
3302         (WebCore::LinkHighlight::~LinkHighlight):
3303         (WebCore::LinkHighlight::contentLayer):
3304         (WebCore::LinkHighlight::paintContents):
3305         (WebCore::LinkHighlight::notifyAnimationStarted):
3306         (WebCore::LinkHighlight::notifyAnimationFinished):
3307         * platform/graphics/chromium/LinkHighlight.h: Renamed from Source/WebKit/chromium/src/LinkHighlight.h.
3308         (WebCore):
3309         (LinkHighlight):
3310
3311 2012-08-22  Alexei Svitkine  <asvitkine@chromium.org>
3312
3313         Respect system setting for rubber-banding in ScrollAnimatorMac.
3314         https://bugs.webkit.org/show_bug.cgi?id=94356
3315
3316         Reviewed by James Robinson.
3317
3318         Respects user defaults setting of NSScrollViewRubberbanding,
3319         which controls rubber-banding in other Mac OS X applications.
3320
3321         If NSScrollViewRubberbanding is not set, defaults to enabling
3322         rubber banding. Otherwise, rubber banding is disabled if the
3323         value is 0 and enabled otherwise.
3324
3325         No new tests since the behavior depends on system settings.
3326
3327         * platform/mac/ScrollAnimatorMac.mm:
3328         (WebCore):
3329         (WebCore::rubberBandingEnabledForSystem):
3330         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3331
3332 2012-08-22  James Robinson  <jamesr@chromium.org>
3333
3334         [chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
3335         https://bugs.webkit.org/show_bug.cgi?id=94658
3336
3337         Reviewed by Tony Chang.
3338
3339         The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
3340         for OS X version <= Leopard.
3341
3342         * platform/graphics/chromium/CrossProcessFontLoading.mm:
3343         (WebCore::FontPlatformData::loadFont):
3344         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3345         (WebCore::canSetCascadeListForCustomFont):
3346
3347 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
3348
3349         [chromium] Add touch link highlight animation layers.
3350         https://bugs.webkit.org/show_bug.cgi?id=84487
3351
3352         Reviewed by James Robinson.
3353
3354         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
3355         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
3356         Transform support currently limited to translation.
3357
3358         Unit tests for LinkHighlight revised.
3359
3360         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
3361                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
3362                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
3363                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
3364                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
3365                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
3366                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
3367                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
3368                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
3369                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
3370                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
3371                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
3372                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
3373                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
3374                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
3375                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
3376                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
3377                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
3378                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
3379                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
3380                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
3381                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
3382                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
3383                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
3384                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
3385                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
3386                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
3387                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
3388                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
3389                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
3390                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
3391                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
3392                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
3393                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
3394                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
3395                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
3396                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
3397                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
3398                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
3399                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
3400                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
3401
3402         * WebCore.gypi:
3403         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3404         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3405         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
3406         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
3407         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
3408         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
3409         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
3410         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
3411         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
3412         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
3413         * platform/graphics/chromium/GraphicsLayerChromium.h:
3414         (WebCore):
3415         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
3416         (WebCore::LinkHighlightClient::~LinkHighlightClient):
3417         (GraphicsLayerChromium):
3418         (WebCore::GraphicsLayerChromium::linkHighlight):
3419         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
3420
3421 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
3422
3423         Unreviewed build fix. Missing PANGO_CFLAGS.
3424
3425         * GNUmakefile.am: