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