d146ea94fa00ebc4baff9928a0a91e322be20ab7
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2
3         [V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
4         https://bugs.webkit.org/show_bug.cgi?id=94460
5
6         Reviewed by Adam Barth.
7
8         To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
9         from V8Proxy to V8Binding. Also, this patch renames these methods as follows:
10
11         - retrieveWindow() -> toDOMWindow()
12         - retrieveFrame() -> toFrameIfNotDetached()
13         - retrievePerContextData() -> perContextDataForCurrentWorld()
14
15         No tests. No change in behavior.
16
17         * bindings/v8/BindingState.cpp:
18         (WebCore::activeDOMWindow):
19         (WebCore::firstDOMWindow):
20         (WebCore::activeFrame):
21         (WebCore::firstFrame):
22         (WebCore::currentFrame):
23         (WebCore::currentDocument):
24         * bindings/v8/PageScriptDebugServer.cpp:
25         (WebCore::retrieveFrameWithGlobalObjectCheck):
26         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
27         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
28         * bindings/v8/V8Binding.cpp:
29         (WebCore::retrieveWindow):
30         (WebCore):
31         (WebCore::retrieveFrame):
32         (WebCore::retrievePerContextData):
33         * bindings/v8/V8Binding.h:
34         (WebCore):
35         * bindings/v8/V8DOMWrapper.cpp:
36         (WebCore::V8DOMWrapper::constructorForType):
37         * bindings/v8/V8NPUtils.cpp:
38         (WebCore::convertV8ObjectToNPVariant):
39         * bindings/v8/V8Proxy.cpp:
40         (WebCore::V8Proxy::handleOutOfMemory):
41         (WebCore::V8Proxy::context):
42         (WebCore::V8Proxy::matchesCurrentContext):
43         * bindings/v8/V8Proxy.h:
44         (V8Proxy):
45
46 2012-08-20  Abhishek Arya  <inferno@chromium.org>
47
48         Yank an unneccessary if added in r125810.
49         https://bugs.webkit.org/show_bug.cgi?id=85804
50
51         Reviewed by Levi Weintraub.
52
53         * rendering/RenderBlockLineLayout.cpp:
54         (WebCore::RenderBlock::layoutInlineChildren):
55
56 2012-08-20  James Robinson  <jamesr@chromium.org>
57
58         [chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
59         https://bugs.webkit.org/show_bug.cgi?id=94544
60
61         Reviewed by Adrienne Walker.
62
63         GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
64         layer, it may be unsafe to touch the old value. It's also completely unnecessary.
65
66         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
67         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
68         (WebCore::GraphicsLayerChromium::setContentsToImage):
69         (WebCore::GraphicsLayerChromium::setContentsTo):
70         (WebCore::GraphicsLayerChromium::setupContentsLayer):
71         * platform/graphics/chromium/GraphicsLayerChromium.h:
72
73 2012-08-20  Kentaro Hara  <haraken@chromium.org>
74
75         [V8] Move collectGarbage() from ScriptController to V8GCController
76         https://bugs.webkit.org/show_bug.cgi?id=94455
77
78         Reviewed by Adam Barth.
79
80         - This patch moves collectGarbage() from ScriptController to V8GCController.
81         - This patch makes collectGarbage() a static method.
82         - This patch removes ScriptController::lowMemoryNotification()
83         since it is not used at all.
84
85         No tests. No change in behavior.
86
87         * bindings/v8/ScriptController.cpp:
88         * bindings/v8/ScriptController.h:
89         * bindings/v8/V8GCController.cpp:
90         (WebCore::V8GCController::collectGarbage):
91         (WebCore):
92         * bindings/v8/V8GCController.h:
93         (V8GCController):
94
95 2012-08-20  Kentaro Hara  <haraken@chromium.org>
96
97         [V8] Remove V8Proxy from V8IsolatedContext
98         https://bugs.webkit.org/show_bug.cgi?id=94450
99
100         Reviewed by Adam Barth.
101
102         This patch removes dependency on V8Proxy from V8IsolatedContext.
103
104         No tests. No change in behavior.
105
106         * bindings/v8/ScriptController.cpp:
107         (WebCore::ScriptController::evaluateInIsolatedWorld):
108         * bindings/v8/V8IsolatedContext.cpp:
109         (WebCore::V8IsolatedContext::V8IsolatedContext):
110         * bindings/v8/V8IsolatedContext.h:
111         (WebCore):
112         (V8IsolatedContext):
113
114 2012-08-20  Philip Rogers  <pdr@google.com>
115
116         Canvas drawImage() should draw SVG at the correct scale.
117         https://bugs.webkit.org/show_bug.cgi?id=94377
118
119         Previously, drawing SVG in canvas would render at the incorrect scale
120         because imageSizeForRenderer did not take into account the page scale.
121         After this patch, we now incorporate the page scale in
122         CachedImage::imageSizeForRenderer().
123
124         Reviewed by Tim Horton.
125
126         Test: svg/as-image/svg-as-image-canvas.html
127
128         * loader/cache/CachedImage.cpp:
129         (WebCore::CachedImage::imageSizeForRenderer):
130
131 2012-08-20  Simon Fraser  <simon.fraser@apple.com>
132
133         Assertion going back to results.html page from an image diff result
134         https://bugs.webkit.org/show_bug.cgi?id=94143
135
136         Reviewed by Adam Barth.
137
138         Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
139         ScriptCachedFrameData::restore(), as we may have already done this
140         in ScriptController::clearWindowShell(). This avoids an assertion
141         on some platforms when going Back to the test results page from
142         a diff image.
143
144         * bindings/js/ScriptCachedFrameData.cpp:
145         (WebCore::ScriptCachedFrameData::restore):
146
147 2012-08-20  Dean Jackson  <dino@apple.com>
148
149         [WebGL] OES_vertex_array_object is not correctly un/binding or deleting
150         https://bugs.webkit.org/show_bug.cgi?id=94029
151
152         Reviewed by Ken Russell.
153
154         When the currently bound vertex array is deleted, the specification says that
155         the default object should be bound in its place. Also, binding a null object
156         as a vertex array was not actually clearing the bound object at the GL layer.
157         And lastly, it should not be possible to bind a deleted vertex array.
158
159         The test case for this is the public Khronos WebGL conformance suite, in particular:
160         conformance/extensions/oes-vertex-array-object.html
161
162         * html/canvas/OESVertexArrayObject.cpp:
163         (WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
164         currently bound, and if so, unbind it.
165         (WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
166         array that has been marked as deleted.
167         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
168         (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
169         do need to call glBindVertexArrayAPPLE with a null value in order to clear it.
170
171 2012-08-20  Kentaro Hara  <haraken@chromium.org>
172
173         [V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
174         https://bugs.webkit.org/show_bug.cgi?id=94459
175
176         Reviewed by Adam Barth.
177
178         To kill V8Proxy, we can move clearForClose() and
179         clearForNavigation() from V8Proxy to ScriptController.
180
181         No tests. No change in behavior.
182
183         * bindings/v8/ScriptController.cpp:
184         (WebCore::ScriptController::~ScriptController):
185         (WebCore::ScriptController::resetIsolatedWorlds):
186         (WebCore):
187         (WebCore::ScriptController::clearForClose):
188         (WebCore::ScriptController::clearForNavigation):
189         (WebCore::ScriptController::clearWindowShell):
190         * bindings/v8/ScriptController.h:
191         (ScriptController):
192         * bindings/v8/V8Proxy.cpp:
193         (WebCore::V8Proxy::~V8Proxy):
194         (WebCore::V8Proxy::handleOutOfMemory):
195         * bindings/v8/V8Proxy.h:
196         (V8Proxy):
197
198 2012-08-20  Dirk Schulze  <krit@webkit.org>
199
200         CSS Masking and CSS Filters applied in wrong order
201         https://bugs.webkit.org/show_bug.cgi?id=94354
202
203         Reviewed by Dean Jackson.
204
205         According to the Filter Effects spec, the order should be first filters, then masking and clipping.
206         Changed the order on applying the different effects in RenderLayer.
207
208         Test: css3/filters/filter-mask-clip-order.html
209
210         * rendering/RenderLayer.cpp:
211         (WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.
212
213 2012-08-20  Kentaro Hara  <haraken@chromium.org>
214
215         [V8] Move mainWorldContext() from V8Proxy to ScriptController
216         https://bugs.webkit.org/show_bug.cgi?id=94453
217
218         Reviewed by Adam Barth.
219
220         This patch moves mainWorldContext() from V8Proxy to ScriptController.
221         In addition, this patch removes dependency on V8Proxy from WorldContextHandle.
222
223         No tests. No change in behavior.
224
225         * bindings/v8/DOMTransaction.cpp:
226         (WebCore::DOMTransaction::callFunction):
227         * bindings/v8/NPV8Object.cpp:
228         (WebCore::toV8Context):
229         * bindings/v8/ScriptController.cpp:
230         (WebCore::ScriptController::evaluate):
231         (WebCore::ScriptController::mainWorldContext):
232         (WebCore):
233         (WebCore::ScriptController::bindToWindowObject):
234         (WebCore::createScriptObject):
235         (WebCore::ScriptController::createScriptObjectForPluginElement):
236         * bindings/v8/ScriptController.h:
237         (ScriptController):
238         * bindings/v8/ScriptState.cpp:
239         (WebCore::mainWorldScriptState):
240         * bindings/v8/V8LazyEventListener.cpp:
241         (WebCore::V8LazyEventListener::prepareListenerObject):
242         * bindings/v8/V8Proxy.cpp:
243         (WebCore::V8Proxy::context):
244         (WebCore::toV8Context):
245         * bindings/v8/V8Proxy.h:
246         (V8Proxy):
247         * bindings/v8/WorldContextHandle.cpp:
248         (WebCore::WorldContextHandle::adjustedContext):
249         * bindings/v8/WorldContextHandle.h:
250         (WebCore):
251         (WorldContextHandle):
252
253 2012-08-20  Adam Klein  <adamk@chromium.org>
254
255         Remove redundant TOUCH_LISTENER event type
256         https://bugs.webkit.org/show_bug.cgi?id=94524
257
258         Reviewed by Ryosuke Niwa.
259
260         Code that needs to determine whether there are touch listeners
261         can instead call Document::touchEventHandlerCount(), added in r107832.
262         TOUCH_LISTENER didn't fit very well into the hasListenerType() model
263         anyway, as there's not a 1:1 correspondance between the enum value and
264         an event.
265
266         * dom/Document.cpp:
267         (WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
268         the bookkeeping for TOUCH_LISTENER, and the notification into
269         ChromeClient (which is handled by calls to didAddTouchEventHandler in
270         all the places that call addListenerTypeIfNeeded).
271         (WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
272         * dom/Document.h:
273         * history/CachedFrame.cpp:
274         (WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
275         * html/HTMLInputElement.cpp:
276         (WebCore::HTMLInputElement::updateType): ditto
277         * page/EventHandler.cpp:
278         (WebCore::EventHandler::handleTouchEvent): ditto
279         * page/Frame.cpp:
280         (WebCore::Frame::setDocument): ditto
281         * testing/Internals.cpp: Remove hasTouchEventListener method since its
282         data source no longer exists.
283         * testing/Internals.h: ditto
284         (Internals):
285         * testing/Internals.idl: ditto
286
287 2012-08-16  James Robinson  <jamesr@chromium.org>
288
289         [chromium] Change WebLayer from a concrete type to a pure virtual interface
290         https://bugs.webkit.org/show_bug.cgi?id=94174
291
292         Reviewed by Adrienne Walker.
293
294         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
295         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
296         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
297         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
298         m_transformLayer) and assembles the final layer tree.
299
300         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
301         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
302         (ScrollingCoordinatorPrivate):
303         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
304         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
305         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
306         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
307         (WebCore::scrollableLayerForGraphicsLayer):
308         (WebCore):
309         (WebCore::createScrollbarLayer):
310         (WebCore::ScrollingCoordinator::setScrollLayer):
311         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
312         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
313         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
314         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
315         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
316         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
317         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
318         (WebCore::AcceleratedDeviceContext::clearLayer):
319         (AcceleratedDeviceContext):
320         (WebCore::AcceleratedDeviceContext::prepareForDraw):
321         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
322         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
323         (WebCore::Canvas2DLayerBridge::skCanvas):
324         (WebCore::Canvas2DLayerBridge::layer):
325         (WebCore::Canvas2DLayerBridge::contextAcquired):
326         * platform/graphics/chromium/Canvas2DLayerBridge.h:
327         (WebCore):
328         (Canvas2DLayerBridge):
329         * platform/graphics/chromium/DrawingBufferChromium.cpp:
330         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
331         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
332         (WebCore::DrawingBufferPrivate::layer):
333         (DrawingBufferPrivate):
334         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
335         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
336         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
337         (WebCore::GraphicsLayerChromium::updateNames):
338         (WebCore::GraphicsLayerChromium::removeFromParent):
339         (WebCore::GraphicsLayerChromium::setSize):
340         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
341         (WebCore::GraphicsLayerChromium::setContentsOpaque):
342         (WebCore::GraphicsLayerChromium::setFilters):
343         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
344         (WebCore::GraphicsLayerChromium::setMaskLayer):
345         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
346         (WebCore::GraphicsLayerChromium::setOpacity):
347         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
348         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
349         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
350         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
351         (WebCore::GraphicsLayerChromium::setContentsToImage):
352         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
353         (WebCore):
354         (WebCore::GraphicsLayerChromium::setContentsToMedia):
355         (WebCore::GraphicsLayerChromium::setContentsTo):
356         (WebCore::GraphicsLayerChromium::addAnimation):
357         (WebCore::GraphicsLayerChromium::pauseAnimation):
358         (WebCore::GraphicsLayerChromium::removeAnimation):
359         (WebCore::GraphicsLayerChromium::suspendAnimations):
360         (WebCore::GraphicsLayerChromium::resumeAnimations):
361         (WebCore::GraphicsLayerChromium::addLinkHighlight):
362         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
363         (WebCore::GraphicsLayerChromium::platformLayer):
364         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
365         (WebCore::GraphicsLayerChromium::setDebugBorder):
366         (WebCore::GraphicsLayerChromium::updateChildList):
367         (WebCore::GraphicsLayerChromium::updateLayerPosition):
368         (WebCore::GraphicsLayerChromium::updateLayerSize):
369         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
370         (WebCore::GraphicsLayerChromium::updateTransform):
371         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
372         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
373         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
374         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
375         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
376         (WebCore::GraphicsLayerChromium::updateContentsRect):
377         (WebCore::GraphicsLayerChromium::updateContentsScale):
378         (WebCore::GraphicsLayerChromium::setupContentsLayer):
379         * platform/graphics/chromium/GraphicsLayerChromium.h:
380         (WebCore::GraphicsLayerChromium::hasContentsLayer):
381         (WebCore::GraphicsLayerChromium::contentLayer):
382         (GraphicsLayerChromium):
383         (WebCore::GraphicsLayerChromium::contentsLayer):
384         * platform/graphics/chromium/LayerChromium.cpp:
385         (WebCore::LayerChromium::rootLayer):
386         * platform/graphics/chromium/LayerChromium.h:
387
388 2012-08-20  Leandro Gracia Gil  <leandrogracia@chromium.org>
389
390         Move transformFriendlyBoundingBox out of Range
391         https://bugs.webkit.org/show_bug.cgi?id=94366
392
393         Reviewed by Simon Fraser and Ryosuke Niwa.
394
395         Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
396         However, this method should not have been added there in order to reduce the
397         dependencies between Range and the rendering code. This patch moves it to a
398         static method in RenderObject.
399
400         Tests: existing tests, no new feature added by this patch.
401
402         * dom/Range.cpp:
403         * dom/Range.h:
404         * rendering/RenderObject.cpp:
405         (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
406         (WebCore):
407         * rendering/RenderObject.h:
408         (RenderObject):
409
410 2012-08-20  Ryosuke Niwa  <rniwa@webkit.org>
411
412         Replace isolate || bidi-override by isolate-override
413         https://bugs.webkit.org/show_bug.cgi?id=89746
414
415         Reviewed by Levi Weintraub.
416
417         The combination of bidi-isolate and isolate was replaced by a single isolate-override in
418         http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
419         http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi
420
421         To follow the specification change, added -webkit-isolate-override and removed the support for
422         isolate || bidi-override, simplifying the CSS parser and serializer.
423
424         Test: fast/text/bidi-override-isolate.html
425
426         * css/CSSComputedStyleDeclaration.cpp:
427         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
428         constructor now.
429         * css/CSSParser.cpp:
430         (WebCore::CSSParser::parseValue):
431         * css/CSSPrimitiveValueMappings.h:
432         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
433         primitive value instead of a primitive value of css value list.
434         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
435         * css/CSSValueKeywords.in: Added -webkit-isolate-override
436         * css/StyleBuilder.cpp:
437         (WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
438         (WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
439         * platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
440         (WebCore::isIsolated):
441         (WebCore::isOverride):
442         * rendering/RenderBlockLineLayout.cpp:
443         (WebCore::constructBidiRuns):
444
445 2012-08-20  Tony Chang  <tony@chromium.org>
446
447         RenderGrid children should always be RenderBoxes
448         https://bugs.webkit.org/show_bug.cgi?id=94305
449
450         Reviewed by Abhishek Arya.
451
452         During RenderGrid::layout, we assume all the children are RenderBoxes.
453         When removing children, if the last child is an anonymous block, we don't
454         want to remove the anonymous block for grids. Ensure this doesn't happen
455         by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
456         grid can override this method).
457
458         Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html
459
460         * rendering/RenderBlock.cpp:
461         (WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
462         * rendering/RenderBlock.h:
463         (WebCore::RenderBlock::canCollapseAnonymousBlockChild):
464         (RenderBlock):
465         * rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
466         * rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
467         * rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.
468
469 2012-08-20  Kenneth Russell  <kbr@google.com>
470
471         Unreviewed, rolling out r126026.
472         http://trac.webkit.org/changeset/126026
473         https://bugs.webkit.org/show_bug.cgi?id=94449
474
475         Caused assertion failure in layout test touchadjustment/context-menu.html
476
477         * page/TouchAdjustment.cpp:
478         (TouchAdjustment):
479         (WebCore::TouchAdjustment::providesContextMenuItems):
480         (WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
481         (WebCore::TouchAdjustment::compileSubtargetList):
482         (WebCore::findBestClickableCandidate):
483         (WebCore::findBestContextMenuCandidate):
484
485 2012-08-20  Andrew Lo  <anlo@rim.com>
486
487         [BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
488         https://bugs.webkit.org/show_bug.cgi?id=94514
489
490         Reviewed by Rob Buis.
491
492         Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
493         debug prints. Fix build warnings from prints.
494
495         No new tests, non-functional change.
496
497         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
498         (WebCore::GraphicsLayerBlackBerry::addAnimation):
499         (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
500
501 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
502
503         [JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
504         https://bugs.webkit.org/show_bug.cgi?id=94493
505
506         Reviewed by Oliver Hunt.
507
508         Update JSC implementation for SerializedScriptValue::create() so that
509         a DataCloneError is thrown when the input value is an unsupported
510         object. The previous implementation was not throwing any error.
511
512         This change is according to the structured clone specification at:
513         http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone
514
515         This also matches the corresponding V8 implementation.
516
517         Test: fast/events/message-port-multi.html.
518
519         * bindings/js/SerializedScriptValue.cpp:
520         (WebCore::CloneSerializer::dumpIfTerminal):
521         (WebCore::CloneSerializer::serialize):
522         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
523         * bindings/js/SerializedScriptValue.h:
524
525 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
526
527         Unreviewed, rolling out r125884.
528         http://trac.webkit.org/changeset/125884
529         https://bugs.webkit.org/show_bug.cgi?id=94523
530
531         Appears to be causing a top crash in the Canary channel
532         (Requested by abarth on #webkit).
533
534         * UseV8.cmake:
535         * WebCore.gypi:
536         * bindings/v8/DOMWrapperWorld.cpp:
537         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
538         (WebCore::mainThreadNormalWorld):
539         * bindings/v8/DOMWrapperWorld.h:
540         (WebCore):
541         (WebCore::DOMWrapperWorld::create):
542         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
543         (DOMWrapperWorld):
544         * bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
545         (WebCore):
546         (WebCore::IsolatedWorld::IsolatedWorld):
547         (WebCore::IsolatedWorld::~IsolatedWorld):
548         * bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
549         (WebCore):
550         (IsolatedWorld):
551         (WebCore::IsolatedWorld::create):
552         (WebCore::IsolatedWorld::count):
553         (WebCore::IsolatedWorld::id):
554         (WebCore::IsolatedWorld::domDataStore):
555         * bindings/v8/V8DOMWrapper.h:
556         (WebCore::V8DOMWrapper::getCachedWrapper):
557         * bindings/v8/V8IsolatedContext.cpp:
558         (WebCore::V8IsolatedContext::V8IsolatedContext):
559         (WebCore::V8IsolatedContext::destroy):
560         * bindings/v8/V8IsolatedContext.h:
561         (WebCore::V8IsolatedContext::getEntered):
562         (WebCore::V8IsolatedContext::world):
563         (V8IsolatedContext):
564         * bindings/v8/V8PerIsolateData.h:
565         (WebCore::V8PerIsolateData::registerDOMDataStore):
566         (WebCore::V8PerIsolateData::unregisterDOMDataStore):
567
568 2012-08-20  Chris Rogers  <crogers@google.com>
569
570         Remove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
571         https://bugs.webkit.org/show_bug.cgi?id=94504
572
573         Reviewed by Kenneth Russell.
574
575         AudioParamTimeline::valuesForTimeRangeImpl() is able to handle the case where there are no timeline events.
576         So don't ASSERT for that case.
577
578         * Modules/webaudio/AudioParamTimeline.cpp:
579         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
580
581 2012-08-20  Ken Buchanan  <kenrb@chromium.org>
582         Line boxes not being dirtied correctly during inline removal
583         https://bugs.webkit.org/show_bug.cgi?id=93156
584
585         Reviewed by David Hyatt.
586
587         When two inline objects were being removed from different lineboxes
588         in an ancestral RenderBlock, the way the RenderBlock was being marked
589         prevented the second linebox from being marked dirty. This causes
590         it to not get layout in the subsequent layout pass.
591
592         This patch causes only the descendants corresponding to actual changed
593         lineboxes to have their ancestorLineBoxDirty bit set, rather than
594         the RenderBlock that contains the lineboxes themselves.
595
596         * rendering/RenderLineBoxList.cpp:
597         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
598
599 2012-08-20  John Mellor  <johnme@chromium.org>
600
601         Text Autosizing: Only take into account block width <= document layout width.
602         https://bugs.webkit.org/show_bug.cgi?id=93862
603
604         Reviewed by Kenneth Rohde Christiansen.
605
606         Instead of calculating the textAutosizingMultiplier purely based on the
607         width of each block, we now work out the maximum width of the block
608         that could be displayed onscreen at any one time, and use that value.
609         This avoids excessive text size multiplication (there's no point making
610         text bigger than this, since you wouldn't be able to zoom out far
611         enough to read it!).
612
613         To determine the maximum onscreen block width, we take the minimum of
614         the block width and the layoutWidth of the narrowest non-flattened
615         ancestor frame. Flattened frames are ignored since they don't impose a
616         hard limit on the maximum width that can be displayed, instead they can
617         stretch to fit their contents. Note that on mobile the layoutWidth of
618         the main frame is the fixed layout width aka viewport width.
619
620         In practice this caps the maximum multiplier to a value that depends
621         on the metrics of the device. For example on a Nexus S (480 x 800px
622         and 1.5x devicePixelRatio) with a 980px default fixed layout width,
623         this limits the multiplier to: 980 / (480/1.5) = 3.0625
624
625         Most pages won't have blocks that actually hit this cap, or they will
626         only slightly exceed it (so their multiplier will only be slightly
627         reduced). For example it's not uncommon for desktop pages to be
628         slightly wider than 980px, but they would have to additionally have
629         text that spans the full width of the page for this to affect them, and
630         even then it would merely slightly decrease their multiplier).
631
632         This will have more dramatic effects on the rare desktop pages which
633         give a width=device-width (or similar) mobile viewport tag (on ports
634         which support viewports). A follow-up patch will hopefully address this
635         by wrapping the text in such excessively wide blocks to the layoutWidth.
636
637         Tests: fast/text-autosizing/narrow-iframe-flattened.html
638                fast/text-autosizing/narrow-iframe.html
639                fast/text-autosizing/wide-block.html
640                fast/text-autosizing/wide-iframe.html
641
642         * page/FrameView.cpp:
643         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
644
645             Made public and const, so can be used from TextAutosizer.
646
647         * rendering/TextAutosizer.cpp:
648         (WebCore::TextAutosizer::processSubtree):
649
650             Computes the minimum layout width of the parent frames, as described
651             above.
652
653         (WebCore::TextAutosizer::processBlock):
654
655             Limits used block width to this min layout width.
656
657 2012-08-20  Hans Wennborg  <hans@chromium.org>
658
659         Respect runtime flags for Device Orientation and Device Motion
660         https://bugs.webkit.org/show_bug.cgi?id=94479
661
662         Reviewed by Adam Barth.
663
664         There are flags that allows disabling of device orientation and device
665         motion at runtime. These flags determine the availability of the
666         corresponding event constructors in DOMWindow.
667
668         However, the flags should also control the ability to add event
669         listeners for these events, otherwise the feature can be used even if
670         it is disabled.
671
672         * page/DOMWindow.cpp:
673         (WebCore::DOMWindow::addEventListener):
674
675 2012-08-20  Philip Rogers  <pdr@google.com>
676
677         Remove incorrect getBBox() code
678         https://bugs.webkit.org/show_bug.cgi?id=94419
679
680         Reviewed by Dirk Schulze.
681
682         SVGPathElement defines a getBBox() function that is wrong and
683         should use objectBoundingBox(). This patch cleans this up.
684
685         No new tests as this is just a cleanup of old code.
686
687         * svg/SVGPathElement.cpp:
688         (WebCore):
689         * svg/SVGPathElement.h:
690         (SVGPathElement):
691
692 2012-08-20  David Reveman  <reveman@chromium.org>
693
694         [Chromium] Schedule texture uploads based on hard-coded timer and vsync.
695         https://bugs.webkit.org/show_bug.cgi?id=84281
696
697         Reviewed by James Robinson.
698
699         Improve interaction between vsync and texture uploads by performing
700         uploads in smaller batches and use a hard-coded timer to emulate
701         upload completion. This greatly reduces the chance of the compositor
702         missing a vsync due to being busy with texture uploads.
703
704         The CCScheduler client is now given a time limit when told to update
705         more resources. This time limit is passed to an instance of the
706         CCTextureUpdateController class, which is responsible for performing
707         texture updates until the limit is reached.
708
709         Unit tests: CCSchedulerTest.RequestCommit
710                     CCTextureUpdateControllerTest.UpdateMoreTextures
711                     CCTextureUpdateControllerTest.HasMoreUpdates
712
713         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
714         (WebCore::CCFrameRateController::nextTickTime):
715         (WebCore):
716         * platform/graphics/chromium/cc/CCFrameRateController.h:
717         (CCFrameRateController):
718         * platform/graphics/chromium/cc/CCScheduler.cpp:
719         (WebCore::CCScheduler::processScheduledActions):
720         * platform/graphics/chromium/cc/CCScheduler.h:
721         (CCSchedulerClient):
722         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
723         (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
724         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
725         (WebCore::CCTextureUpdateController::updateMoreTextures):
726         (WebCore):
727         (WebCore::CCTextureUpdateController::onTimerFired):
728         (WebCore::CCTextureUpdateController::monotonicTimeNow):
729         (WebCore::CCTextureUpdateController::updateMoreTexturesTime):
730         (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
731         (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
732         (WebCore::CCTextureUpdateController::updateMoreTexturesNow):
733         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
734         (WebCore::CCTextureUpdateController::create):
735         (CCTextureUpdateController):
736         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
737         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
738         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
739         * platform/graphics/chromium/cc/CCThreadProxy.h:
740
741 2012-08-20  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
742
743         [css3-text] Add parsing support for -webkit-text-decoration-style
744         https://bugs.webkit.org/show_bug.cgi?id=94093
745
746         Reviewed by Julien Chaffraix.
747
748         This patch implements the "text-decoration-style" property parsing as specified
749         in CSS3 working draft, with "-webkit-" prefix. The specification can be found
750         here: http://dev.w3.org/csswg/css3-text/#text-decoration-style
751
752         Additionally, Mozilla implementation details can be found here:
753         https://developer.mozilla.org/en-US/docs/CSS/text-decoration-style
754
755         This is an individual task for bug 90958. Rendering support will be handled on a
756         different bug.
757
758         Test: fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html
759
760         * css/CSSComputedStyleDeclaration.cpp:
761         (WebCore::renderTextDecorationStyleFlagsToCSSValue):
762         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
763         * css/CSSParser.cpp:
764         (WebCore::CSSParser::parseValue):
765         * css/CSSPrimitiveValueMappings.h:
766         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
767         * css/CSSProperty.cpp:
768         (WebCore::CSSProperty::isInheritedProperty):
769         * css/CSSPropertyNames.in:
770         * css/CSSValueKeywords.in:
771         * css/StyleBuilder.cpp:
772         (WebCore::StyleBuilder::StyleBuilder):
773         * css/StyleResolver.cpp:
774         (WebCore::StyleResolver::collectMatchingRulesForList):
775         * rendering/style/RenderStyle.cpp:
776         (WebCore::RenderStyle::diff):
777         * rendering/style/RenderStyle.h:
778         * rendering/style/RenderStyleConstants.h: Added non-bitwise TextDecorationStyle enum.
779         * rendering/style/StyleRareNonInheritedData.cpp:
780         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Added m_textDecorationStyle to default and copy constructors.
781         (WebCore::StyleRareNonInheritedData::operator==): Include m_textDecorationStyle in comparison.
782         * rendering/style/StyleRareNonInheritedData.h:
783         (StyleRareNonInheritedData):
784         Added m_textDecorationStyle here as it won't be used regularly.
785
786 2012-08-20  Jakob Petsovits  <jpetsovits@rim.com>
787
788         [BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
789         https://bugs.webkit.org/show_bug.cgi?id=94482
790         RIM PR 184923
791
792         Reviewed by Yong Li.
793
794         BlackBerry::Platform recently made changes that ensure
795         that MessageClient threads are being shut down correctly.
796         A new onThreadFinished() virtual was introduced for
797         custom clean-up functionality and can replace the
798         atexit() handler that we previously used to flush cookies
799         to the cookie database backingstore.
800
801         No new functionality, no new tests.
802
803         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
804         (WebCore):
805         (WebCore::CookieDatabaseBackingStore::onThreadFinished):
806         (WebCore::CookieDatabaseBackingStore::sendChangesToDatabaseSynchronously):
807         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
808         (CookieDatabaseBackingStore):
809         * platform/blackberry/CookieManager.cpp:
810         (WebCore):
811         (WebCore::cookieManager):
812         * platform/blackberry/CookieManager.h:
813
814 2012-08-20  Alexandre Elias  <aelias@google.com>
815
816         [chromium] Move non-GL-specific code out of LayerRendererChromium
817         https://bugs.webkit.org/show_bug.cgi?id=93927
818
819         Reviewed by Adrienne Walker.
820
821         This patch moves most of the generic logic dealing with matrices and
822         render passes into a new class "CCDirectRenderer" that sits between
823         CCRenderer and LayerRendererChromium, and also publicly exposes a
824         few other things like the UnthrottledTextureUploader.
825
826         The plan is for the future software compositing implementation to also
827         derive from CCDirectRenderer, whereas the ubercompositor delegating
828         renderer will still derive from CCRenderer.
829
830         No new tests (no-op refactoring).
831
832         * WebCore.gypi:
833         * platform/graphics/chromium/GeometryBinding.cpp:
834         (WebCore::GeometryBinding::GeometryBinding):
835         * platform/graphics/chromium/GeometryBinding.h:
836         (GeometryBinding):
837         * platform/graphics/chromium/LayerRendererChromium.cpp:
838         (WebCore::LayerRendererChromium::LayerRendererChromium):
839         (WebCore::LayerRendererChromium::beginDrawingFrame):
840         (WebCore::LayerRendererChromium::drawQuad):
841         (WebCore::LayerRendererChromium::drawRenderPassQuad):
842         (WebCore::LayerRendererChromium::drawTileQuad):
843         (WebCore::LayerRendererChromium::finishDrawingFrame):
844         (WebCore::LayerRendererChromium::drawQuadGeometry):
845         (WebCore::LayerRendererChromium::bindFramebufferToOutputSurface):
846         (WebCore):
847         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
848         (WebCore::LayerRendererChromium::enableScissorTestRect):
849         (WebCore::LayerRendererChromium::disableScissorTest):
850         (WebCore::LayerRendererChromium::setDrawViewportSize):
851         (WebCore::LayerRendererChromium::makeContextCurrent):
852         (WebCore::LayerRendererChromium::initializeSharedObjects):
853         * platform/graphics/chromium/LayerRendererChromium.h:
854         (LayerRendererChromium):
855         * platform/graphics/chromium/TextureCopier.h:
856         (TextureCopier):
857         * platform/graphics/chromium/TextureUploader.h:
858         (UnthrottledTextureUploader):
859         (WebCore::UnthrottledTextureUploader::create):
860         (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
861         (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
862         (WebCore):
863         * platform/graphics/chromium/cc/CCDirectRenderer.cpp: Added.
864         (projectionMatrix):
865         (canvasMatrix):
866         (WebCore):
867         (WebCore::CCDirectRenderer::DrawingFrame::initializeMatrices):
868         (WebCore::CCDirectRenderer::DrawingFrame::initializeScissors):
869         (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
870         (WebCore::CCDirectRenderer::drawFrame):
871         (WebCore::CCDirectRenderer::drawRenderPass):
872         (WebCore::CCDirectRenderer::useRenderPass):
873         (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
874         (WebCore::CCDirectRenderer::renderPassTextureSize):
875         (WebCore::CCDirectRenderer::renderPassTextureFormat):
876         * platform/graphics/chromium/cc/CCDirectRenderer.h: Added.
877         (WebCore):
878         (CCDirectRenderer):
879         (WebCore::CCDirectRenderer::~CCDirectRenderer):
880         (WebCore::CCDirectRenderer::resourceProvider):
881         (WebCore::CCDirectRenderer::CCDirectRenderer):
882         (DrawingFrame):
883         (WebCore::CCDirectRenderer::DrawingFrame::DrawingFrame):
884         (CachedTexture):
885         (WebCore::CCDirectRenderer::CachedTexture::create):
886         (WebCore::CCDirectRenderer::CachedTexture::~CachedTexture):
887         (WebCore::CCDirectRenderer::CachedTexture::isComplete):
888         (WebCore::CCDirectRenderer::CachedTexture::setIsComplete):
889         (WebCore::CCDirectRenderer::CachedTexture::CachedTexture):
890         (WebCore::CCDirectRenderer::quadVertexRect):
891         (WebCore::CCDirectRenderer::quadRectTransform):
892
893 2012-08-20  Julien Chaffraix  <jchaffraix@webkit.org>
894
895         Introduce a will-be-removed-from-tree notification in RenderObject
896         https://bugs.webkit.org/show_bug.cgi?id=94271
897
898         Reviewed by Abhishek Arya.
899
900         Following bug 93874, we have an insertion notification. This change adds the
901         matching removal notification (willBeRemovedFromTree).
902
903         Refactoring covered by existing tests.
904
905         * rendering/RenderObjectChildList.cpp:
906         (WebCore::RenderObjectChildList::removeChildNode):
907         Removed the code from here and moved it below.
908
909         * rendering/RenderObject.cpp:
910         (WebCore::RenderObject::willBeRemovedFromTree):
911         * rendering/RenderObject.h:
912         This is the base function that should be called by every instance.
913
914         * rendering/RenderListItem.cpp:
915         (WebCore::RenderListItem::willBeRemovedFromTree):
916         * rendering/RenderListItem.h:
917         * rendering/RenderQuote.cpp:
918         (WebCore::RenderQuote::willBeRemovedFromTree):
919         * rendering/RenderQuote.h:
920         * rendering/RenderRegion.cpp:
921         (WebCore::RenderRegion::willBeRemovedFromTree):
922         * rendering/RenderRegion.h:
923         Overriden functions.
924
925 2012-08-20  Mike West  <mkwst@chromium.org>
926
927         CSP 1.1: The 'plugin-types' warning should include details about explicit type declaration when relevant.
928         https://bugs.webkit.org/show_bug.cgi?id=94432
929
930         Reviewed by Adam Barth.
931
932         Given a 'plugin-types' Content Security Policy directive, an 'object' or
933         'embed' tag is blocked if it doesn't include an explicit declaration of
934         the plugin's expected media type. This restriction should be made clear
935         in the console warning that's generated.
936
937         Existing tests have been adjusted to agree with the new error string.
938
939         * page/ContentSecurityPolicy.cpp:
940         (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
941             If a media type fail to match the policy's restrictions, and the
942             declared type attribute is empty, then add another line to the
943             console warning, espousing the virtues of explicit declaration.
944
945 2012-08-20  Dana Jansens  <danakj@chromium.org>
946
947         [chromium] Update HUD resources as a final step to drawing a frame
948         https://bugs.webkit.org/show_bug.cgi?id=93743
949
950         Reviewed by Adrienne Walker.
951
952         The HUD should be painted as a last step, after the whole frame has been
953         generated. This introduces a new "updateHudTexture" method on the HUD layer
954         and has the HUD layer save itself on CCLayerTreeHostImpl so that it can
955         call back to this method.
956
957         This allows the CCLayerTreeHostImpl to cause the HUD layer to update its
958         texture as a final step before drawing the frame, allowing the HUD texture
959         to contain all possible information about the current frame.
960
961         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
962         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
963         (WebCore):
964         (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
965         (WebCore::CCHeadsUpDisplayLayerImpl::updateHudTexture):
966         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
967         (CCHeadsUpDisplayLayerImpl):
968         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
969         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
970         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
971         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
972         (WebCore::CCLayerTreeHostImpl::drawLayers):
973         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
974         (WebCore):
975         (WebCore::CCLayerTreeHostImpl::setHudLayer):
976         (WebCore::CCLayerTreeHostImpl::hudLayer):
977         (CCLayerTreeHostImpl):
978
979 2012-08-20  Ian Vollick  <vollick@chromium.org>
980
981         [chromium] Add tracing for active composited animations
982         https://bugs.webkit.org/show_bug.cgi?id=84210
983
984         Reviewed by James Robinson.
985
986         This patch issues the trace events from the animations. Animations will
987         report when they start and finish on the main and impl threads (via
988         TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
989         change state.
990
991         No new tests, only changes tracing behavior.
992
993         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
994         (WebCore::CCActiveAnimation::CCActiveAnimation):
995         (WebCore::CCActiveAnimation::~CCActiveAnimation):
996         (WebCore::CCActiveAnimation::setRunState):
997         (WebCore::CCActiveAnimation::clone):
998         (WebCore):
999         (WebCore::CCActiveAnimation::cloneAndInitialize):
1000         * platform/graphics/chromium/cc/CCActiveAnimation.h:
1001         (WebCore::CCActiveAnimation::isControllingInstance):
1002         (CCActiveAnimation):
1003         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1004         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1005         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
1006         (WebCore::CCLayerAnimationController::tickAnimations):
1007
1008 2012-08-20  Bill Budge  <bbudge@chromium.org>
1009
1010         webkitfullscreenchange not fired properly in iframe.
1011         https://bugs.webkit.org/show_bug.cgi?id=93525
1012
1013         Reviewed by Adam Barth.
1014
1015         webkitCancelFullScreen exits fullscreen by invoking webkitExitFullScreen on topDocument.
1016         However, if webkitDidExitFullScreenForElement is invoked on a descendant document, no events
1017         get dispatched. This change starts the event dispatch delay timer on the document where
1018         webkitCancelFullScreen was called, so that the events get dispatched. In addition, when events
1019         are dispatched, the check whether a node has been removed is changed to also check that the
1020         node isn't in another document, as can happen with frames. Finally, webkitExitFullscreen
1021         is fixed to remove unnecessary code and conform to the spec.
1022
1023         No new tests (the existing fullscreen/exit-full-screen-iframe.html test now passes).
1024
1025         * dom/Document.cpp:
1026         (WebCore::Document::webkitExitFullscreen):
1027         (WebCore::Document::webkitDidExitFullScreenForElement):
1028         (WebCore::Document::fullScreenChangeDelayTimerFired):
1029
1030 2012-08-20  Yuzhu Shen  <yzshen@chromium.com>
1031
1032         [chromium] pepper plugins sometimes are shifted by 1 pixel
1033         https://bugs.webkit.org/show_bug.cgi?id=94257
1034
1035         Reviewed by Levi Weintraub.
1036
1037         Change RenderWidget::updateWidgetGeometry() to use LayoutRect instead of IntRect to avoid unwanted truncation
1038         (when converting from FloatRect to IntRect).
1039
1040         This makes sure that the optimized rendering code path of Pepper plugin
1041         (PluginInstance::GetBitmapForOptimizedPluginPaint) has consistent coordinates with the normal WebKit rendering
1042         code path.
1043
1044         No new tests because we don't have Pepper plugin tests in WebKit.
1045
1046         * rendering/RenderWidget.cpp:
1047         (WebCore::RenderWidget::updateWidgetGeometry):
1048
1049 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
1050
1051         postMessage() in MessagePort.idl does not match spec
1052         https://bugs.webkit.org/show_bug.cgi?id=94477
1053
1054         Reviewed by Kentaro Hara.
1055
1056         Update definition of postMessage() in MessagePort.idl
1057         to match the specification at:
1058         http://www.w3.org/TR/html5/comms.html#messageport
1059
1060         The first argument should be of type 'any', not
1061         'DOMString'.
1062
1063         No new tests, no behavior change.
1064
1065         * dom/MessagePort.idl:
1066
1067 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1068
1069         Unreviewed, rolling out r125989.
1070         http://trac.webkit.org/changeset/125989
1071         https://bugs.webkit.org/show_bug.cgi?id=94485
1072
1073         "Two of the new tests always failed on Mac bots" (Requested by
1074         bradee-oh on #webkit).
1075
1076         * css/CSSComputedStyleDeclaration.cpp:
1077         (WebCore):
1078         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1079         * css/CSSParser.cpp:
1080         (WebCore::isValidKeywordPropertyAndValue):
1081         (WebCore::isKeywordPropertyID):
1082         (WebCore::CSSParser::parseValue):
1083         * css/CSSProperty.cpp:
1084         (WebCore::CSSProperty::isInheritedProperty):
1085         * css/CSSPropertyNames.in:
1086         * css/CSSValueKeywords.in:
1087         * css/StyleBuilder.cpp:
1088         (WebCore::StyleBuilder::StyleBuilder):
1089         * rendering/RenderLayer.h:
1090         (RenderLayer):
1091         * rendering/RenderLayerBacking.cpp:
1092         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1093         (WebCore):
1094         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1095         * rendering/RenderLayerBacking.h:
1096         (RenderLayerBacking):
1097         * rendering/style/RenderStyle.cpp:
1098         (WebCore::RenderStyle::diff):
1099         * rendering/style/RenderStyle.h:
1100         * rendering/style/StyleRareNonInheritedData.cpp:
1101         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1102         (WebCore::StyleRareNonInheritedData::operator==):
1103         * rendering/style/StyleRareNonInheritedData.h:
1104         (StyleRareNonInheritedData):
1105
1106 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1107
1108         [Qt] Custom tap-highlight-color renders fully opaque
1109         https://bugs.webkit.org/show_bug.cgi?id=94468
1110
1111         Reviewed by Kenneth Rohde Christiansen.
1112
1113         Adjust the default tap-highlight-color to figure in that is will be
1114         drawn semi-transparent.
1115
1116         * rendering/RenderTheme.h:
1117         (RenderTheme):
1118
1119 2012-08-20  Andrey Adaikin  <aandrey@chromium.org>
1120
1121         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
1122         https://bugs.webkit.org/show_bug.cgi?id=88973
1123
1124         Reviewed by Pavel Feldman.
1125
1126         Added the following protocol methods to communicate with the WebGL injected
1127         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
1128
1129         * inspector/CodeGeneratorInspector.py:
1130         * inspector/InjectedScriptWebGLModule.cpp:
1131         (WebCore::InjectedScriptWebGLModule::captureFrame):
1132         (WebCore):
1133         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
1134         (WebCore::InjectedScriptWebGLModule::getTraceLog):
1135         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
1136         * inspector/InjectedScriptWebGLModule.h:
1137         (InjectedScriptWebGLModule):
1138         * inspector/Inspector.json:
1139         * inspector/InspectorController.cpp:
1140         (WebCore::InspectorController::InspectorController):
1141         * inspector/InspectorWebGLAgent.cpp:
1142         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
1143         (WebCore::InspectorWebGLAgent::dropTraceLog):
1144         (WebCore):
1145         (WebCore::InspectorWebGLAgent::captureFrame):
1146         (WebCore::InspectorWebGLAgent::getTraceLog):
1147         (WebCore::InspectorWebGLAgent::replayTraceLog):
1148         * inspector/InspectorWebGLAgent.h:
1149         (WebCore):
1150         (WebCore::InspectorWebGLAgent::create):
1151         (InspectorWebGLAgent):
1152
1153 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1154
1155         [TouchAdjustment] Adjust to word or selection
1156         https://bugs.webkit.org/show_bug.cgi?id=94449
1157
1158         Reviewed by Antonio Gomes.
1159
1160         Makes each separate word a separate subtarget when context menu triggers
1161         selections, and only the selected part of a partial selected node a 
1162         target when selections are not overridden.
1163
1164         Test: touchadjustment/context-menu-text-subtargets.html
1165
1166         * page/TouchAdjustment.cpp:
1167         (TouchAdjustment):
1168         (WebCore::TouchAdjustment::providesContextMenuItems):
1169         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
1170         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
1171         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
1172         (WebCore::TouchAdjustment::compileSubtargetList):
1173         (WebCore::findBestClickableCandidate):
1174         (WebCore::findBestContextMenuCandidate):
1175
1176 2012-08-20  Xan Lopez  <xlopez@igalia.com>
1177
1178         [GTK] Provide backwards compatible method for WebKitDOMWebKitNamedFlow::overflow
1179         https://bugs.webkit.org/show_bug.cgi?id=94464
1180
1181         Reviewed by Carlos Garcia Campos.
1182
1183         Provide a compatibility method to access the new 'overset'
1184         property through the old 'overflow' name in
1185         WebKitDOMWebKitNamedFlow. Note that trying to access it through
1186         g_object_get directly will give a runtime warning, since the
1187         property does not actually exist anymore; this is done purely to
1188         maintain API compatibility.
1189
1190         * bindings/gobject/WebKitDOMCustom.cpp:
1191         (webkit_dom_webkit_named_flow_get_overflow): add method.
1192         * bindings/gobject/WebKitDOMCustom.h:
1193
1194 2012-08-20  Sami Kyostila  <skyostil@chromium.org>
1195
1196         [chromium] Convert screen space scroll gestures to layer space
1197         https://bugs.webkit.org/show_bug.cgi?id=92499
1198
1199         Reviewed by James Robinson.
1200
1201         Scroll gestures should be converted from screen space to local layer space to
1202         correctly apply the scroll delta to page scaled and/or transformed layers.
1203         Visually this means that the scrolled content will always follow the user's
1204         finger for any "well-formed" layer transform.
1205
1206         Wheel scroll deltas will still be directly interpreted as local layer scroll
1207         coordinates.
1208
1209         We also adjust the logic for propagating ("bubbling") scroll events to parent
1210         layers. Previously a parent layer was allowed to scroll in the screen-space
1211         axis orthogonal to the direction the starting layer scrolled toward. For
1212         example if a vertically scrolling layer is scrolled diagonally down and right,
1213         the layer moves down and its parent to the right.
1214
1215         This patch generalizes this behavior to non-axis aligned transformed layers so
1216         that the scrolling direction of any parent is constrained to be perpendicular
1217         direction of movement of the starting layer. This makes the scrolling behavior
1218         of transformed layers physically plausible. For instance, assume a 45 degree
1219         rotated, vertically scrollable layer. Dragging your finger vertically
1220         (relative to the layer) scrolls the layer up and down, while horizontal
1221         movement results in the parent of the layer moving in a corresponding way.
1222
1223         Since generally users want to scroll a single layer in one direction, this
1224         patch also introduces a rule that if the resulting movement of a layer is
1225         within 45 degrees of the original scroll input, the bubbling process is
1226         stopped. This makes it possible to reliably scroll a single layer without
1227         affecting any of its parents.
1228
1229         Added new unit tests:
1230             CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
1231             CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
1232             CCLayerTreeHostImplTest.scrollScaledLayer
1233             CCMathUtilTest.smallestAngleBetweenVectors
1234             CCMathUtilTest.vectorProjection
1235
1236         * platform/graphics/chromium/cc/CCInputHandler.h:
1237         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1238         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1239         (WebCore::CCLayerTreeHostImpl::scrollBegin):
1240         (WebCore::scrollLayerWithScreenSpaceDelta):
1241         (WebCore):
1242         (WebCore::scrollLayerWithLocalDelta):
1243         (WebCore::CCLayerTreeHostImpl::scrollBy):
1244         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1245         (CCLayerTreeHostImpl):
1246         * platform/graphics/chromium/cc/CCMathUtil.cpp:
1247         (WebCore::CCMathUtil::smallestAngleBetweenVectors):
1248         (WebCore):
1249         (WebCore::CCMathUtil::projectVector):
1250         * platform/graphics/chromium/cc/CCMathUtil.h:
1251         (CCMathUtil):
1252
1253 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1254
1255         [GTK] Add API to set preferred languages to WebKit2 GTK+
1256         https://bugs.webkit.org/show_bug.cgi?id=90878
1257
1258         Unreviewed. Fix mac build.
1259
1260         * WebCore.exp.in: Export WebCore::languageDidChange().
1261
1262 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
1263
1264         Web Inspector: improve standalone test harness to allow attaching to inspector before test.
1265         https://bugs.webkit.org/show_bug.cgi?id=94426
1266
1267         Reviewed by Vsevolod Vlasov.
1268
1269         - User can not "Debug", attach inspector to the front-end and "Continue" test execution.
1270         - You can also assign filter from the query parameter.
1271
1272         * inspector/front-end/test-runner.html:
1273
1274 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
1275
1276         Web Inspector: load scripts panel lazily
1277         https://bugs.webkit.org/show_bug.cgi?id=94416
1278
1279         Reviewed by Vsevolod Vlasov.
1280
1281         - removes access to WebInspector.panels.scripts and loads it lazily.
1282         - extracts classes to their own files when classes residing in one file belong to different modules
1283         - removes StylesPanel.js in favor of the actual classes it contains 
1284
1285         * WebCore.gypi:
1286         * WebCore.vcproj/WebCore.vcproj:
1287         * WebCore.xcodeproj/project.pbxproj:
1288         * inspector/compile-front-end.py:
1289         * inspector/front-end/AdvancedSearchController.js:
1290         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
1291         * inspector/front-end/BreakpointsSidebarPane.js:
1292         * inspector/front-end/FilteredItemSelectionDialog.js:
1293         * inspector/front-end/InspectorFrontendAPI.js:
1294         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
1295         (InspectorFrontendAPI.setDebuggingEnabled):
1296         * inspector/front-end/NativeBreakpointsSidebarPane.js: Added.
1297         (WebInspector.NativeBreakpointsSidebarPane):
1298         (WebInspector.NativeBreakpointsSidebarPane.prototype._addListElement):
1299         (WebInspector.NativeBreakpointsSidebarPane.prototype._removeListElement):
1300         (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
1301         * inspector/front-end/ObjectPropertiesSection.js:
1302         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
1303         * inspector/front-end/ScriptSnippetModel.js:
1304         * inspector/front-end/ScriptsPanel.js:
1305         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
1306         * inspector/front-end/SnippetJavaScriptSourceFrame.js: Added.
1307         (WebInspector.SnippetJavaScriptSourceFrame):
1308         (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
1309         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
1310         * inspector/front-end/StyleSheetOutlineDialog.js: Added.
1311         (WebInspector.StyleSheetOutlineDialog):
1312         (WebInspector.StyleSheetOutlineDialog.show):
1313         (WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt):
1314         (WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt):
1315         (WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt):
1316         (WebInspector.StyleSheetOutlineDialog.prototype.itemsCount):
1317         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
1318         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
1319         (WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
1320         (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
1321         * inspector/front-end/StyleSource.js: Renamed from Source/WebCore/inspector/front-end/StylesPanel.js.
1322         (WebInspector.StylesUISourceCodeProvider):
1323         (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
1324         (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
1325         (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
1326         (WebInspector.StylesUISourceCodeProvider.prototype._populate):
1327         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
1328         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
1329         (WebInspector.StyleSource):
1330         (WebInspector.StyleSource.prototype.isEditable):
1331         (WebInspector.StyleSource.prototype.workingCopyCommitted):
1332         (WebInspector.StyleSource.prototype.workingCopyChanged):
1333         (WebInspector.StyleSource.prototype._callOrSetTimeout):
1334         (WebInspector.StyleSource.prototype._commitIncrementalEdit):
1335         (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
1336         (WebInspector.InspectorStyleSource):
1337         * inspector/front-end/WebKit.qrc:
1338         * inspector/front-end/inspector.html:
1339         * inspector/front-end/inspector.js:
1340         (WebInspector._panelDescriptors):
1341         (WebInspector._registerShortcuts):
1342         (WebInspector.documentKeyDown):
1343         (WebInspector._showAnchorLocation):
1344
1345 2012-08-20  Dominik Röttsches  <dominik.rottsches@intel.com>
1346
1347         [EFL] Get rid of pango backend support once harfbuzz-ng is working
1348         https://bugs.webkit.org/show_bug.cgi?id=92102
1349
1350         Reviewed by Kenneth Rohde Christiansen.
1351
1352         Removing support for Pango complex font rendering now that we HarfBuzz.
1353
1354         No new tests, no change in behavior.
1355
1356         * PlatformEfl.cmake: Removing Pango specific includes and libraries.
1357
1358 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
1359
1360         Web Inspector: prepare scripts panel to be lazily loaded
1361         https://bugs.webkit.org/show_bug.cgi?id=94423
1362
1363         Reviewed by Vsevolod Vlasov.
1364
1365         - makes scripts panel read workspace data upon creation
1366         - moves pause on script state management into the debugger model
1367         - updates frontend API to use debugger model, not scripts panel
1368
1369         * inspector/front-end/DebuggerModel.js:
1370         (WebInspector.DebuggerModel.prototype.debuggerEnabled):
1371         (WebInspector.DebuggerModel.prototype.disableDebugger):
1372         (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
1373         (WebInspector.DebuggerModel.prototype._pauseOnExceptionStateChanged):
1374         (WebInspector.DebuggerModel.prototype.get _debuggerWasDisabled):
1375         * inspector/front-end/InspectorFrontendAPI.js:
1376         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
1377         (InspectorFrontendAPI.setDebuggingEnabled):
1378         * inspector/front-end/ScriptsPanel.js:
1379         (WebInspector.ScriptsPanel):
1380         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
1381         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
1382         (WebInspector.ScriptsPanel.prototype._reset):
1383         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1384         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
1385         (WebInspector.ScriptsPanel.prototype._enableDebugging):
1386         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
1387         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
1388         * inspector/front-end/inspector.js:
1389         (WebInspector.documentKeyDown):
1390
1391 2012-08-20  Robin Cao  <robin.cao@torchmobile.com.cn>
1392
1393         [BlackBerry] Adapt to changes in the platform media player API
1394         https://bugs.webkit.org/show_bug.cgi?id=94329
1395         PR #194237
1396
1397         Reviewed by Antonio Gomes.
1398
1399         The interface to platform's media player has changed from MMRPlayer
1400         to PlatformPlayer. This patch adapts to this change.
1401
1402         And we also decided to postpone the creation of PlatformPlayer until
1403         the loading started. This is needed because we may create different
1404         types of player for different media sources.
1405
1406         This is a refactor, no new tests.
1407
1408         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1409         (WebCore::MediaPlayerPrivate::getSupportedTypes):
1410         (WebCore::MediaPlayerPrivate::supportsType):
1411         (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
1412         (WebCore::MediaPlayerPrivate::setCertificatePath):
1413         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1414         (WebCore::MediaPlayerPrivate::load):
1415         (WebCore::MediaPlayerPrivate::cancelLoad):
1416         (WebCore::MediaPlayerPrivate::prepareToPlay):
1417         (WebCore::MediaPlayerPrivate::play):
1418         (WebCore::MediaPlayerPrivate::pause):
1419         (WebCore::MediaPlayerPrivate::naturalSize):
1420         (WebCore::MediaPlayerPrivate::hasVideo):
1421         (WebCore::MediaPlayerPrivate::hasAudio):
1422         (WebCore::MediaPlayerPrivate::duration):
1423         (WebCore::MediaPlayerPrivate::currentTime):
1424         (WebCore::MediaPlayerPrivate::seek):
1425         (WebCore::MediaPlayerPrivate::setRate):
1426         (WebCore::MediaPlayerPrivate::paused):
1427         (WebCore::MediaPlayerPrivate::setVolume):
1428         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
1429         (WebCore::MediaPlayerPrivate::buffered):
1430         (WebCore::MediaPlayerPrivate::paint):
1431         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
1432         (WebCore::MediaPlayerPrivate::movieLoadType):
1433         (WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
1434         (WebCore::MediaPlayerPrivate::updateStates):
1435         (WebCore):
1436         (WebCore::MediaPlayerPrivate::onStateChanged):
1437         (WebCore::MediaPlayerPrivate::onMediaStatusChanged):
1438         (WebCore::MediaPlayerPrivate::onError):
1439         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
1440         (WebCore::MediaPlayerPrivate::showErrorDialog):
1441         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1442         (MediaPlayerPrivate):
1443
1444 2012-08-19  Kentaro Hara  <haraken@chromium.org>
1445
1446         [V8] Move contextDebugId() and setContextDebugId() from V8Proxy to ScriptController
1447         https://bugs.webkit.org/show_bug.cgi?id=94446
1448
1449         Reviewed by Adam Barth.
1450
1451         To kill V8Proxy, we can move contextDebugId() and setContextDebugId()
1452         from V8Proxy to ScriptController.
1453
1454         No tests. No change in behavior.
1455
1456         * bindings/v8/ScriptController.cpp:
1457         (WebCore::ScriptController::setContextDebugId):
1458         (WebCore):
1459         (WebCore::ScriptController::contextDebugId):
1460         * bindings/v8/ScriptController.h:
1461         (ScriptController):
1462         * bindings/v8/V8IsolatedContext.cpp:
1463         (WebCore::V8IsolatedContext::V8IsolatedContext):
1464         * bindings/v8/V8Proxy.cpp:
1465         * bindings/v8/V8Proxy.h:
1466         (V8Proxy):
1467
1468 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1469
1470         [V8] Move V8Proxy::newInstance() to V8ObjectConstructor
1471         https://bugs.webkit.org/show_bug.cgi?id=94443
1472
1473         Reviewed by Adam Barth.
1474
1475         To kill V8Proxy, this patch moves V8Proxy::newInstance() to
1476         V8ObjectConstructor::newInstanceInFrame().
1477         In addition, this patch does the following things:
1478
1479         - For consistency with V8ObjectConstructor::newInstanceInFrame(),
1480         this patch inserts an if(v8::V8::IsDead()) check to just after
1481         Function::NewInstance(). The check is done by V8Binding::assertIfV8IsDead().
1482
1483         - To avoid #include circular dependency, this patch de-inline
1484         V8ObjectConstructor::newInstance()s. I didn't observe any perf regression.
1485         I don't think these methods are worth being inlined, because
1486         these methods call Function::NewInstance(), which is not inlined
1487         and calls a bunch of heavy mehtods in V8.
1488
1489         No tests. No change in behavior.
1490
1491         * bindings/v8/NPV8Object.cpp:
1492         (_NPN_Construct):
1493         * bindings/v8/V8Binding.cpp:
1494         (WebCore::assertIfV8IsDead):
1495         (WebCore):
1496         * bindings/v8/V8Binding.h:
1497         (WebCore):
1498         * bindings/v8/V8ObjectConstructor.cpp:
1499         (WebCore::V8ObjectConstructor::newInstance):
1500         (WebCore):
1501         (WebCore::V8ObjectConstructor::newInstanceInFrame):
1502         * bindings/v8/V8ObjectConstructor.h:
1503         (WebCore):
1504         (V8ObjectConstructor):
1505         * bindings/v8/V8Proxy.cpp:
1506         (WebCore::V8Proxy::runScript):
1507         (WebCore::V8Proxy::instrumentedCallFunction):
1508
1509 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1510
1511         [V8] Move V8Proxy::m_extensions to ScriptController
1512         https://bugs.webkit.org/show_bug.cgi?id=94444
1513
1514         Reviewed by Adam Barth.
1515
1516         To kill V8Proxy, this patch moves V8Proxy::m_extensions to ScriptController.
1517         This patch also renames extensions() to registeredExtensions() for clarification.
1518
1519         No tests. No change in behavior.
1520
1521         * bindings/v8/ScriptController.cpp:
1522         (WebCore::ScriptController::registeredExtensions):
1523         (WebCore):
1524         (WebCore::ScriptController::registerExtensionIfNeeded):
1525         * bindings/v8/ScriptController.h:
1526         (WebCore):
1527         (ScriptController):
1528         * bindings/v8/V8DOMWindowShell.cpp:
1529         (WebCore::V8DOMWindowShell::createNewContext):
1530         * bindings/v8/V8Proxy.cpp:
1531         * bindings/v8/V8Proxy.h:
1532         (WebCore):
1533         (V8Proxy):
1534
1535 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
1536
1537         Web Inspector: toolbar causes 8 reflows upon opening
1538         https://bugs.webkit.org/show_bug.cgi?id=94422
1539
1540         Reviewed by Yury Semikhatsky.
1541
1542         Toolbar's overflow code causes inspector to do 8 reflows upon opening.
1543         Fixing it via introducing batch toolbar update.
1544
1545         * inspector/front-end/Toolbar.js:
1546         (WebInspector.Toolbar):
1547         (WebInspector.Toolbar.prototype.setCoalescingUpdate):
1548         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
1549         * inspector/front-end/inspector.css:
1550         (body.compact .toolbar-icon):
1551         (body.compact .toolbar-icon.custom-toolbar-icon):
1552         (body.compact .toolbar-item:active .toolbar-icon):
1553         (body.compact .toolbar-label):
1554         (body.compact .toolbar-item.resources .toolbar-icon):
1555         (body.compact .toolbar-item.network .toolbar-icon):
1556         (body.compact .toolbar-item.scripts .toolbar-icon):
1557         (body.compact .toolbar-item.timeline .toolbar-icon):
1558         (body.compact .toolbar-item.profiles .toolbar-icon):
1559         (body.compact .toolbar-item.audits .toolbar-icon):
1560         (body.compact .toolbar-item.console .toolbar-icon):
1561         * inspector/front-end/inspector.js:
1562         (WebInspector.get _setCompactMode):
1563         (WebInspector.windowResize):
1564
1565 2012-08-19  Kentaro Hara  <haraken@chromium.org>
1566
1567         [V8] Replace proxy()->windowShell() in ScriptController with windowShell()
1568         https://bugs.webkit.org/show_bug.cgi?id=94445
1569
1570         Reviewed by Adam Barth.
1571
1572         Now ScriptController owns windowShell. So ScriptController doesn't
1573         need to get windowShell through V8Proxy.
1574
1575         No tests. No change in behavior.
1576
1577         * bindings/v8/ScriptController.cpp:
1578         (WebCore::ScriptController::updateSecurityOrigin):
1579         (WebCore::ScriptController::haveInterpreter):
1580         (WebCore::ScriptController::enableEval):
1581         (WebCore::ScriptController::disableEval):
1582         (WebCore::ScriptController::updateDocument):
1583         (WebCore::ScriptController::namedItemAdded):
1584         (WebCore::ScriptController::namedItemRemoved):
1585
1586 2012-08-19  Kentaro Hara  <haraken@chromium.org>
1587
1588         [V8] Move V8Proxy::callFunction() to ScriptController
1589         https://bugs.webkit.org/show_bug.cgi?id=94437
1590
1591         Reviewed by Adam Barth.
1592
1593         To kill V8Proxy, this patch moves callFunction() from V8Proxy to ScriptController.
1594
1595         No tests. No change in behavior.
1596
1597         * bindings/v8/DOMTransaction.cpp:
1598         (WebCore::DOMTransaction::callFunction):
1599         * bindings/v8/NPV8Object.cpp:
1600         (_NPN_Invoke):
1601         (_NPN_InvokeDefault):
1602         * bindings/v8/ScheduledAction.cpp:
1603         (WebCore::ScheduledAction::execute):
1604         * bindings/v8/ScheduledAction.h:
1605         (WebCore):
1606         (ScheduledAction):
1607         * bindings/v8/ScriptController.cpp:
1608         (WebCore::ScriptController::callFunction):
1609         (WebCore):
1610         (WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
1611         * bindings/v8/ScriptController.h:
1612         (ScriptController):
1613         * bindings/v8/V8EventListener.cpp:
1614         (WebCore::V8EventListener::callListenerFunction):
1615         * bindings/v8/V8LazyEventListener.cpp:
1616         (WebCore::V8LazyEventListener::callListenerFunction):
1617         * bindings/v8/V8Proxy.cpp:
1618         * bindings/v8/V8Proxy.h:
1619         (V8Proxy):
1620         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1621         (WebCore::V8HTMLDocument::openCallback):
1622
1623 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
1624
1625         [Forms] Set SpinButtonElement free from HTMLInputElement
1626         https://bugs.webkit.org/show_bug.cgi?id=93941
1627
1628         Reviewed by Kent Tamura.
1629
1630         This patch removes dependency to HTMLInputElement from SpinButtonElement.
1631
1632         Functionalities used to be calling HTMLInputElement functions are
1633         replaced to calling functions SpinButtonOwner class.
1634
1635         * html/TextFieldInputType.cpp:
1636         (WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
1637         (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Moved code from SpinButtonElement::willRespondToMouseClickEvents
1638         (WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents): Moved code from SpinButtonElement::forwardEvent
1639         * html/TextFieldInputType.h:
1640         (TextFieldInputType):
1641         * html/TimeInputType.cpp:
1642         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
1643         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Added for DateTimeEditElement::shouldSpinButtonRespondToWheelEvents.
1644         * html/TimeInputType.h:
1645         * html/shadow/DateTimeEditElement.cpp:
1646         (WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Added for SpinButtonElementOwner class change.
1647         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToMouseEvents): ditto
1648         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): ditto
1649         * html/shadow/DateTimeEditElement.h:
1650         (EditControlOwner): Added new virtual function declarations for SpinButtonElementOwner class change.
1651         (DateTimeEditElement): Added new function declarations for SpinButtonElementOwner.
1652         * html/shadow/SpinButtonElement.cpp:
1653         (WebCore::SpinButtonElement::defaultEventHandler): Changed to use SpinButtonElementOwner instead of HTMLInputElement.
1654         (WebCore::SpinButtonElement::forwardEvent): ditto
1655         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto
1656         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto
1657         (WebCore::SpinButtonElement::step): ditto
1658         (WebCore::SpinButtonElement::shouldRespondToMouseEvents): Added helper function for calling SpinButtonOwner instance.
1659         * html/shadow/SpinButtonElement.h:
1660         (SpinButtonOwner): Added new virtual function declarations.
1661         (SpinButtonElement):
1662
1663 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
1664
1665         [Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Mac
1666         https://bugs.webkit.org/show_bug.cgi?id=94439
1667
1668         Reviewed by Kent Tamura.
1669
1670         This patch disabled CSS selector for Firefox compatibility applied to
1671         multiple fields time input UI, because it is supposed to apply text
1672         field rather than multiple fields.
1673
1674         This patch allows us to have same appearance among Chromium-Linux,
1675         Mac and Win.
1676
1677         No new tests. Following existing tests cover this change:
1678           fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
1679           fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
1680           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
1681           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
1682           fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html
1683
1684         * css/themeWin.css: Exclude input[type="time"] selector if ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
1685         enabled.
1686
1687 2012-08-19  Kentaro Hara  <haraken@chromium.org>
1688
1689         [V8] Rename SafeAllocation to V8ObjectConstructor
1690         https://bugs.webkit.org/show_bug.cgi?id=94436
1691
1692         Reviewed by Adam Barth.
1693
1694         For clarification.
1695
1696         No tests. No change in behavior.
1697
1698         * UseV8.cmake:
1699         * WebCore.gypi:
1700         * bindings/v8/ScriptFunctionCall.cpp:
1701         (WebCore::ScriptFunctionCall::construct):
1702         * bindings/v8/V8Binding.cpp:
1703         (WebCore::createRawTemplate):
1704         * bindings/v8/V8Binding.h:
1705         * bindings/v8/V8DOMWindowShell.cpp:
1706         (WebCore::V8DOMWindowShell::installDOMWindow):
1707         * bindings/v8/V8DOMWrapper.cpp:
1708         (WebCore::V8DOMWrapper::instantiateV8Object):
1709         * bindings/v8/V8NPObject.cpp:
1710         (WebCore::createV8ObjectForNPObject):
1711         * bindings/v8/V8ObjectConstructor.cpp: Renamed from Source/WebCore/bindings/v8/SafeAllocation.cpp.
1712         (WebCore):
1713         (WebCore::V8ObjectConstructor::isValidConstructorMode):
1714         * bindings/v8/V8ObjectConstructor.h: Renamed from Source/WebCore/bindings/v8/SafeAllocation.h.
1715         (WebCore):
1716         (ConstructorMode):
1717         (WebCore::ConstructorMode::ConstructorMode):
1718         (WebCore::ConstructorMode::~ConstructorMode):
1719         (WebCore::ConstructorMode::current):
1720         (V8ObjectConstructor):
1721         (WebCore::V8ObjectConstructor::newInstance):
1722         * bindings/v8/V8PerContextData.cpp:
1723         (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
1724         * bindings/v8/WorkerContextExecutionProxy.cpp:
1725         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1726         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1727         (WebCore::createInjectedScriptHostV8Wrapper):
1728         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1729         (WebCore::toV8):
1730         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1731         (WebCore::toV8):
1732
1733 2012-08-19  Kentaro Hara  <haraken@chromium.org>
1734
1735         [V8] Move m_windowShell from V8Proxy to ScriptController
1736         https://bugs.webkit.org/show_bug.cgi?id=94438
1737
1738         Reviewed by Adam Barth.
1739
1740         m_windowShell should be owned by ScriptController.
1741         After this change, I can move a bunch of V8Proxy methods
1742         that access windowShell() from V8Proxy to ScriptController.
1743
1744         No tests. No change in behavior.
1745
1746         * bindings/v8/ScriptController.cpp:
1747         (WebCore::ScriptController::ScriptController):
1748         * bindings/v8/ScriptController.h:
1749         (WebCore):
1750         (WebCore::ScriptController::windowShell):
1751         (ScriptController):
1752         * bindings/v8/V8Binding.h:
1753         * bindings/v8/V8Proxy.cpp:
1754         (WebCore::V8Proxy::V8Proxy):
1755         (WebCore::V8Proxy::windowShell):
1756         (WebCore):
1757         * bindings/v8/V8Proxy.h:
1758         (WebCore):
1759         (WebCore::V8Proxy::frame):
1760         (V8Proxy):
1761
1762 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
1763
1764         Do not allocate SQLiteDatabase's m_openErrorMessage until its needed
1765         https://bugs.webkit.org/show_bug.cgi?id=94434
1766
1767         Reviewed by Andreas Kling.
1768
1769         Previously, m_openErrorMessage was initialized from a static literal string whenever
1770         the database is not open.
1771
1772         This patch changes the way we use m_openErrorMessage to only allocate a string in the
1773         few cases where we need it. If there is no error message, we fallback to the previous
1774         default string.
1775
1776         The goal is to prevent allocating the string unless needed. That saves initialization time
1777         and memory.
1778
1779         * platform/sql/SQLiteDatabase.cpp:
1780         (WebCore::SQLiteDatabase::SQLiteDatabase):
1781         (WebCore::SQLiteDatabase::close):
1782         (WebCore::SQLiteDatabase::lastErrorMsg):
1783
1784 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
1785
1786         Use initialization from literal for HTML Input type names
1787         https://bugs.webkit.org/show_bug.cgi?id=94421
1788
1789         Reviewed by Kent Tamura.
1790
1791         AtomicString's initialization from literal is faster and use less memory.
1792
1793         * html/InputType.cpp:
1794         (WebCore::InputTypeNames::button):
1795         (WebCore::InputTypeNames::checkbox):
1796         (WebCore::InputTypeNames::color):
1797         (WebCore::InputTypeNames::date):
1798         (WebCore::InputTypeNames::datetime):
1799         (WebCore::InputTypeNames::datetimelocal):
1800         (WebCore::InputTypeNames::email):
1801         (WebCore::InputTypeNames::file):
1802         (WebCore::InputTypeNames::hidden):
1803         (WebCore::InputTypeNames::image):
1804         (WebCore::InputTypeNames::month):
1805         (WebCore::InputTypeNames::number):
1806         (WebCore::InputTypeNames::password):
1807         (WebCore::InputTypeNames::radio):
1808         (WebCore::InputTypeNames::range):
1809         (WebCore::InputTypeNames::reset):
1810         (WebCore::InputTypeNames::search):
1811         (WebCore::InputTypeNames::submit):
1812         (WebCore::InputTypeNames::telephone):
1813         (WebCore::InputTypeNames::text):
1814         (WebCore::InputTypeNames::time):
1815         (WebCore::InputTypeNames::url):
1816         (WebCore::InputTypeNames::week):
1817
1818 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
1819
1820         Remove the static Strings used for outputting values of CSS_ATTR, CSS_COUNTER, CSS_RECT
1821         https://bugs.webkit.org/show_bug.cgi?id=94420
1822
1823         Reviewed by Kentaro Hara.
1824
1825         Use the new StringBuilder::appendLiteral() instead of keeping some WTF::String in
1826         memory.
1827
1828         The patch reduces memory usage.
1829         It also reduces the binary size (-1672 bytes on x86_64).
1830         I did not measure any difference in performance.
1831
1832         * css/CSSPrimitiveValue.cpp:
1833         (WebCore::CSSPrimitiveValue::customCssText):
1834
1835 2012-08-19  Rik Cabanier  <cabanier@adobe.com>
1836
1837         parse CSS attribute -webkit-blend-mode
1838         https://bugs.webkit.org/show_bug.cgi?id=94024
1839  
1840         Reviewed by Dirk Schulze.
1841
1842         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
1843
1844         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
1845                css3/compositing/blend-mode-property-parsing.html
1846                css3/compositing/blend-mode-property.html
1847
1848         * css/CSSComputedStyleDeclaration.cpp:
1849         (WebCore):
1850         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1851         * css/CSSParser.cpp:
1852         (WebCore::isValidKeywordPropertyAndValue):
1853         (WebCore::isKeywordPropertyID):
1854         (WebCore::CSSParser::parseValue):
1855         * css/CSSProperty.cpp:
1856         (WebCore::CSSProperty::isInheritedProperty):
1857         * css/CSSPropertyNames.in:
1858         * css/CSSValueKeywords.in:
1859         * css/StyleBuilder.cpp:
1860         (WebCore::StyleBuilder::StyleBuilder):
1861         * rendering/RenderLayer.h:
1862         (RenderLayer):
1863         * rendering/RenderLayerBacking.cpp:
1864         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1865         (WebCore):
1866         (WebCore::RenderLayerBacking::updateLayerBlendMode):
1867         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1868         (WebCore::RenderLayerBacking::setBlendMode):
1869         * rendering/RenderLayerBacking.h:
1870         (RenderLayerBacking):
1871         * rendering/style/RenderStyle.cpp:
1872         (WebCore::RenderStyle::diff):
1873         * rendering/style/RenderStyle.h:
1874         * rendering/style/StyleRareNonInheritedData.cpp:
1875         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1876         (WebCore::StyleRareNonInheritedData::operator==):
1877         * rendering/style/StyleRareNonInheritedData.h:
1878         (StyleRareNonInheritedData):
1879
1880 2012-08-19  MORITA Hajime  <morrita@google.com>
1881
1882         DOM mutation against including <link> shouldn't trigger pending HTML parser.
1883         https://bugs.webkit.org/show_bug.cgi?id=93641
1884
1885         Reviewed by Ryosuke Niwa.
1886
1887         HTMLLinkElement::removedFrom() invoked Document::removePendingSheet(), which can trigger
1888         HTMLParser that can mutate DOM tree. DOM mutation reentrancy on like this is problematic and
1889         should be prohibited.
1890
1891         This change add an variation of Document::removePendingSheet() which postpones the notification
1892         which triggers DOM mutation, and flush such pending notifications at the end of ongoing mutation.
1893
1894         Test: http/tests/loading/remove-child-triggers-parser.html
1895
1896         * dom/ContainerNodeAlgorithms.h:
1897         (WebCore::ChildNodeRemovalNotifier::notify): Flushed pending notifications at the end.
1898         * dom/Document.cpp:
1899         (WebCore::Document::Document):
1900         (WebCore::Document::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
1901         (WebCore):
1902         (WebCore::Document::didRemoveAllPendingStylesheet): Extracted from removePendingSheet()
1903         * dom/Document.h:
1904         (Document):
1905         (WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet): A flag setter.
1906         (WebCore::Document::notifyRemovePendingSheetIfNeeded):
1907         (WebCore):
1908         * html/HTMLLinkElement.cpp:
1909         (WebCore::HTMLLinkElement::removedFrom): Switched to use "notification later" version of removePendingSheet()
1910         (WebCore::HTMLLinkElement::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
1911         * html/HTMLLinkElement.h:
1912
1913 2012-08-19  Kentaro Hara  <haraken@chromium.org>
1914
1915         Remove RefPtr from HTMLProgressElement::m_value
1916         https://bugs.webkit.org/show_bug.cgi?id=94336
1917
1918         Reviewed by Kent Tamura.
1919
1920         To avoid reference cycles of RefPtr<Node>s, we want to remove
1921         unnecessary RefPtr<Node>s. The rationale is described in bug 94324.
1922
1923         HTMLProgressElement::m_value does not need to be a RefPtr<Node>, because
1924         it is guaranteed to point to a shadow DOM tree of the HTMLProgressElement
1925         node, which is guaranteed to exist in the subtree of the HTMLProgressElement node.
1926
1927         No tests. No change in behavior.
1928
1929         * html/HTMLProgressElement.cpp:
1930         (WebCore::HTMLProgressElement::HTMLProgressElement):
1931         (WebCore::HTMLProgressElement::createShadowSubtree):
1932         * html/HTMLProgressElement.h:
1933
1934 2012-08-19  Kentaro Hara  <haraken@chromium.org>
1935
1936         Remove RefPtr from SearchInputType::m_resultsButton and SearchInputType::m_cancelButton
1937         https://bugs.webkit.org/show_bug.cgi?id=94339
1938
1939         Reviewed by Kent Tamura.
1940
1941         To avoid reference cycles of RefPtr<Node>s, we want to remove unnecessary
1942         RefPtr<Node>s. The rationale is described in bug 94324.
1943
1944         SearchInputType::m_resultsButton and SearchInputType::m_cancelButton do not
1945         need to be RefPtr<Node>s, because they are guaranteed to point to the shadow
1946         DOM tree of the SearchInputType node, which is guaranteed to exist in the
1947         subtree of the SearchInputType node.
1948
1949         No tests. No change in behavior.
1950
1951         * html/SearchInputType.cpp:
1952         (WebCore::SearchInputType::SearchInputType):
1953         (WebCore::SearchInputType::createShadowSubtree):
1954         (WebCore::SearchInputType::resultsButtonElement):
1955         (WebCore::SearchInputType::cancelButtonElement):
1956         (WebCore::SearchInputType::destroyShadowSubtree):
1957         (WebCore::SearchInputType::subtreeHasChanged):
1958         * html/SearchInputType.h:
1959         (SearchInputType):
1960
1961 2012-08-19  Mike West  <mkwst@chromium.org>
1962
1963         CSP 1.1: Add 'plugin-types' and 'form-action' DOM API.
1964         https://bugs.webkit.org/show_bug.cgi?id=94415
1965
1966         Reviewed by Adam Barth.
1967
1968         Experimental implementations of the new 'plugin-types' and 'form-action'
1969         directives recently landed, but we neglected to add DOM API endpoints to
1970         query their state. Those APIs have been added to the specification[1],
1971         and this patch brings our implementation up to date.
1972
1973         Tests: http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction.html
1974                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype.html
1975
1976         * page/DOMSecurityPolicy.cpp:
1977         (isAllowed):
1978             As a drive-by, change a parameter from a KURL to a String to match
1979             the actual template. There's no reason to stringify an empty URL
1980             when we can just use an empty string instead.
1981         (isAllowedWithType):
1982             Call out to the ContentSecurityPolicy object to check the protected
1983             resource's ability to load a given media type.
1984         (WebCore::DOMSecurityPolicy::allowsFormAction):
1985             Call out to the ContentSecurityPolicy object to check the protected
1986             resource's ability to submit a form to the given URL.
1987         (WebCore):
1988         (WebCore::DOMSecurityPolicy::allowsPluginType):
1989             Pipes the plugin type through 'isAllowedWithType' for resolution.
1990         * page/DOMSecurityPolicy.h:
1991             Add the 'allowsPluginType' and 'allowsFormAction' methods.
1992         (DOMSecurityPolicy):
1993         * page/DOMSecurityPolicy.idl:
1994             Add the 'allowsPluginType' and 'allowsFormAction' methods.
1995
1996 2012-08-19  Pavel Feldman  <pfeldman@chromium.org>
1997
1998         Web Inspector: load network panel lazily
1999         https://bugs.webkit.org/show_bug.cgi?id=94414
2000
2001         Reviewed by Vsevolod Vlasov.
2002
2003         This change removes access to WebInspector.panels.network and loads it lazily.
2004
2005         * WebCore.gypi:
2006         * WebCore.xcodeproj/project.pbxproj:
2007         * inspector/front-end/ConsoleMessage.js:
2008         (WebInspector.ConsoleMessageImpl):
2009         (WebInspector.ConsoleMessageImpl.prototype.clone):
2010         * inspector/front-end/ConsoleModel.js:
2011         (WebInspector.ConsoleMessage.create):
2012         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
2013         * inspector/front-end/ConsoleView.js:
2014         (WebInspector.ConsoleMessage.create):
2015         * inspector/front-end/NetworkLog.js:
2016         (WebInspector.NetworkLog):
2017         (WebInspector.NetworkLog.prototype._onRequestStarted):
2018         (WebInspector.NetworkLog.prototype._onLoad):
2019         (WebInspector.NetworkLog.prototype.requestForId):
2020         * inspector/front-end/NetworkManager.js:
2021         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
2022         * inspector/front-end/NetworkPanel.js:
2023         (WebInspector.NetworkLogView):
2024         * inspector/front-end/ScriptSnippetModel.js:
2025         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
2026         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
2027         * inspector/front-end/externs.js:
2028         * inspector/front-end/inspector.html:
2029         * inspector/front-end/inspector.js:
2030         (WebInspector._panelDescriptors):
2031         (WebInspector._showAnchorLocation):
2032
2033 2012-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2034
2035         Unreviewed, rolling out r125976.
2036         http://trac.webkit.org/changeset/125976
2037         https://bugs.webkit.org/show_bug.cgi?id=94430
2038
2039         it does not fix build. (Requested by pfeldman on #webkit).
2040
2041         * GNUmakefile.am:
2042         * GNUmakefile.list.am:
2043
2044 2012-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2045
2046         Unreviewed. Fix make distcheck.
2047
2048         * GNUmakefile.am: Add idl files in Modules/quota to EXTRA_DIST.
2049         * GNUmakefile.list.am: Add missing files to compilation.
2050
2051 2012-08-19  Andreas Kling  <kling@webkit.org>
2052
2053         Remove unused ElementAttributeData::removeAttribute() overload.
2054         <http://webkit.org/b/94425>
2055
2056         Reviewed by Antti Koivisto.
2057
2058         * dom/ElementAttributeData.h:
2059         (ElementAttributeData):
2060
2061 2012-08-18  Philip Rogers  <pdr@google.com>
2062
2063         Refactor SVGMaskElement to inherit from StyledElement
2064         https://bugs.webkit.org/show_bug.cgi?id=94418
2065
2066         Reviewed by Dirk Schulze.
2067
2068         Previously, SVGMaskElement inherited from SVGStyledLocatableElement which includes
2069         several unnecessary functions (e.g., getBBox()). This patch refactors SVGMaskElement
2070         to inherit from SVGStyledElement which matches the spec:
2071         http://www.w3.org/TR/SVG/single-page.html#masking-InterfaceSVGMaskElement
2072
2073         No new tests as this is just a refactoring.
2074
2075         * svg/SVGMaskElement.cpp:
2076         (WebCore):
2077         (WebCore::SVGMaskElement::SVGMaskElement):
2078         * svg/SVGMaskElement.h:
2079
2080 2012-08-18  Andreas Kling  <kling@webkit.org>
2081
2082         CSSValueList: Reserve the exact amount of space needed when constructing from CSS parser.
2083         (No bug URL as Bugzilla is down today.)
2084
2085         Reviewed by Antti Koivisto.
2086
2087         Use Vector::reserveInitialCapacity() when constructing a CSSValueList from a CSSParserValueList
2088         since we have the final length available. Also inlined the trivial append() and prepend().
2089
2090         * css/CSSValueList.cpp:
2091         (WebCore::CSSValueList::CSSValueList):
2092         * css/CSSValueList.h:
2093         (WebCore::CSSValueList::append):
2094         (WebCore::CSSValueList::prepend):
2095
2096 2012-08-18  Pavel Feldman  <pfeldman@chromium.org>
2097
2098         Web Inspector: make profiles panel a lazily loaded module.
2099         https://bugs.webkit.org/show_bug.cgi?id=94351
2100
2101         Reviewed by Yury Semikhatsky.
2102
2103         - removed usages of WebInspector.panels.profiles.
2104         - made panel lazily loaded
2105
2106         * WebCore.gypi:
2107         * WebCore.xcodeproj/project.pbxproj:
2108         * inspector/front-end/CPUProfileView.js:
2109         (WebInspector.CPUProfileHeader.prototype.createView):
2110         * inspector/front-end/CSSSelectorProfileView.js:
2111         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
2112         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
2113         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
2114         (WebInspector.CSSProfileHeader.prototype.createView):
2115         * inspector/front-end/HeapSnapshotDataGrids.js:
2116         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
2117         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
2118         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
2119         * inspector/front-end/HeapSnapshotView.js:
2120         (WebInspector.HeapSnapshotView.prototype._profiles):
2121         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
2122         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2123         (WebInspector.HeapProfileHeader.prototype.createView):
2124         * inspector/front-end/InspectorFrontendAPI.js:
2125         (InspectorFrontendAPI.isProfilingJavaScript):
2126         (InspectorFrontendAPI.startProfilingJavaScript):
2127         (InspectorFrontendAPI.stopProfilingJavaScript):
2128         * inspector/front-end/NativeMemorySnapshotView.js:
2129         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
2130         * inspector/front-end/ProfilesPanel.js:
2131         (WebInspector.ProfileType.prototype.buttonClicked):
2132         (WebInspector.ProfileHeader.prototype.view):
2133         (WebInspector.ProfileHeader.prototype.createView):
2134         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2135         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
2136         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
2137         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
2138         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
2139         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
2140         * inspector/front-end/Settings.js:
2141         * inspector/front-end/externs.js:
2142         * inspector/front-end/inspector.html:
2143         * inspector/front-end/inspector.js:
2144         (WebInspector._panelDescriptors):
2145         (WebInspector._toggleSearchingForNode):
2146         (WebInspector._profilesLinkifier):
2147         (WebInspector._requestZoom.set InspectorFrontendHost):
2148         (WebInspector._requestZoom):
2149         (WebInspector.documentClick.followLink):
2150         (WebInspector.documentClick):
2151
2152 2012-08-18  Pavel Feldman  <pfeldman@chromium.org>
2153
2154         Web Inspector: load panels code on demand
2155         https://bugs.webkit.org/show_bug.cgi?id=94326
2156
2157         Reviewed by Vsevolod Vlasov.
2158
2159         - Introduces importScript that evals in debug mode and inlines for release
2160         - Loads Element, Resources, Timeline, Audits panels lazily.
2161
2162         * WebCore.gypi:
2163         * WebCore.xcodeproj/project.pbxproj:
2164         * inspector/compile-front-end.py:
2165         * inspector/front-end/AuditsPanel.js:
2166         * inspector/front-end/CodeMirrorTextEditor.js:
2167         (WebInspector.CodeMirrorTextEditor):
2168         (WebInspector.CodeMirrorTextEditor.prototype._toRange):
2169         * inspector/front-end/Color.js:
2170         * inspector/front-end/ElementsPanel.js:
2171         * inspector/front-end/ExtensionServer.js:
2172         (WebInspector.ExtensionServer.prototype._onCreatePanel):
2173         * inspector/front-end/Panel.js:
2174         (WebInspector.Panel):
2175         (WebInspector.PanelDescriptor):
2176         (WebInspector.PanelDescriptor.prototype.panel):
2177         * inspector/front-end/ResourcesPanel.js:
2178         * inspector/front-end/SettingsScreen.js:
2179         (WebInspector.GenericSettingsTab):
2180         * inspector/front-end/SourceFrame.js:
2181         (WebInspector.SourceFrame):
2182         * inspector/front-end/Spectrum.js:
2183         (WebInspector.Spectrum.prototype.get outputColorFormat):
2184         * inspector/front-end/StylesSidebarPane.js:
2185         * inspector/front-end/TimelinePanel.js:
2186         * inspector/front-end/inspector.html:
2187         * inspector/front-end/inspector.js:
2188         (WebInspector._panelDescriptors):
2189         (WebInspector.doLoadedDone):
2190         * inspector/front-end/utilities.js:
2191         * inspector/inline-javascript-imports.py:
2192         (main):
2193
2194 2012-08-17  Keishi Hattori  <keishi@webkit.org>
2195
2196         Calendar picker shows wrong date when input element has year earlier than 100
2197         https://bugs.webkit.org/show_bug.cgi?id=94100
2198
2199         Reviewed by Kent Tamura.
2200
2201         Date.UTC can't set an year earlier than 100. So when the input has a value earlier than 100, calendar picker shows the wrong date.
2202
2203         Test: fast/forms/date/calendar-picker-appearance-pre-100.html
2204
2205         * Resources/pagepopups/calendarPicker.js:
2206         (createUTCDate): Uses setUTCFullYear when the year is pre 100.
2207         (parseDateString):
2208         (DaysTable.prototype._renderMonth):
2209         (DaysTable.prototype._maybeSetPreviousMonth):
2210         (DaysTable.prototype._maybeSetNextMonth):
2211
2212 2012-08-17  Vangelis Kokkevis  <vangelis@chromium.org>
2213
2214         [chromium] Fix random noise around text in FPS HUD.
2215         https://bugs.webkit.org/show_bug.cgi?id=94400
2216
2217         Reviewed by James Robinson.
2218
2219         This was the result of an incorrect clear operation on the canvas
2220         that stores the font atlas used by the HUD.
2221
2222
2223         * platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
2224         (WebCore::CompositorHUDFontAtlas::generateFontAtlas):
2225
2226 2012-08-17  Dirk Pranke  <dpranke@chromium.org>
2227
2228         Unreviewed, rolling out r125897.
2229         http://trac.webkit.org/changeset/125897
2230         https://bugs.webkit.org/show_bug.cgi?id=94326
2231
2232         This patch seems to have broken the inspector on the apple mac bots.
2233
2234         * WebCore.gypi:
2235         * inspector/compile-front-end.py:
2236         * inspector/front-end/AuditsPanel.js:
2237         * inspector/front-end/CodeMirrorTextEditor.js:
2238         (WebInspector.CodeMirrorTextEditor):
2239         (WebInspector.CodeMirrorTextEditor.prototype._toRange):
2240         (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries.loadLibrary):
2241         (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries):
2242         * inspector/front-end/Color.js:
2243         * inspector/front-end/ElementsPanel.js:
2244         * inspector/front-end/ExtensionServer.js:
2245         (WebInspector.ExtensionServer.prototype._onCreatePanel):
2246         * inspector/front-end/Panel.js:
2247         (WebInspector.Panel):
2248         (WebInspector.PanelDescriptor):
2249         (WebInspector.PanelDescriptor.prototype.panel):
2250         * inspector/front-end/ResourcesPanel.js:
2251         * inspector/front-end/SettingsScreen.js:
2252         (WebInspector.GenericSettingsTab):
2253         * inspector/front-end/SourceFrame.js:
2254         (WebInspector.SourceFrame):
2255         * inspector/front-end/Spectrum.js:
2256         (WebInspector.Spectrum.prototype.get outputColorFormat):
2257         * inspector/front-end/StylesSidebarPane.js:
2258         * inspector/front-end/TimelinePanel.js:
2259         * inspector/front-end/inspector.html:
2260         * inspector/front-end/inspector.js:
2261         (WebInspector._panelDescriptors):
2262         (WebInspector.doLoadedDone):
2263         * inspector/front-end/utilities.js:
2264
2265 2012-08-17  Chris Rogers  <crogers@google.com>
2266
2267         AudioParam must support k-rate processing with audio-rate connections
2268         https://bugs.webkit.org/show_bug.cgi?id=94385
2269
2270         Reviewed by Kenneth Russell.
2271
2272         Fully implement AudioParam *final* value calculation according to spec:
2273         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioParam
2274
2275         In particular, this covers the case where the parameter is k-rate, and we also
2276         have audio-rate connections to the AudioParam.
2277
2278         * Modules/webaudio/AudioParam.cpp:
2279         (WebCore::AudioParam::finalValue):
2280         (WebCore):
2281         (WebCore::AudioParam::calculateSampleAccurateValues):
2282         (WebCore::AudioParam::calculateFinalValues):
2283         * Modules/webaudio/AudioParam.h:
2284         (AudioParam):
2285         * Modules/webaudio/DelayDSPKernel.cpp:
2286         (WebCore::DelayDSPKernel::process):
2287
2288 2012-08-17  Alice Cheng  <alice_cheng@apple.com>
2289
2290         Preserve styling elements in DeleteSelectionCommand
2291         <rdar://problem/12040676>
2292         https://bugs.webkit.org/show_bug.cgi?id=93643
2293
2294         Reviewed by Ryosuke Niwa.
2295
2296         Styling elements (<link> and <style>) can appear inside editable content. To 
2297         prevent accidental deletion, we move styling elements to rootEditableElement in
2298         DeleteSelectionCommand undoably.
2299
2300         Test: editing/execCommand/delete-selection-has-style.html
2301
2302         * editing/DeleteSelectionCommand.cpp:
2303         (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss): Added to preserve styling elements during the command
2304         (WebCore::DeleteSelectionCommand::handleGeneralDelete):  Modified to preserve styling elements during the command
2305         * editing/DeleteSelectionCommand.h:
2306         (DeleteSelectionCommand):
2307
2308 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2309
2310         Unreviewed, rolling out r125940.
2311         http://trac.webkit.org/changeset/125940
2312         https://bugs.webkit.org/show_bug.cgi?id=94398
2313
2314         "Causes crashes on the bots
2315         http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r125944%20(2626)/fast/css
2316         /first-letter-removed-added-crash-log.txt" (Requested by
2317         bradee-oh on #webkit).
2318
2319         * rendering/RenderListItem.cpp:
2320         * rendering/RenderListItem.h:
2321         (RenderListItem):
2322         * rendering/RenderObject.cpp:
2323         * rendering/RenderObject.h:
2324         (RenderObject):
2325         * rendering/RenderObjectChildList.cpp:
2326         (WebCore::RenderObjectChildList::removeChildNode):
2327         * rendering/RenderObjectChildList.h:
2328         (RenderObjectChildList):
2329         * rendering/RenderQuote.cpp:
2330         * rendering/RenderQuote.h:
2331         * rendering/RenderRegion.cpp:
2332         * rendering/RenderRegion.h:
2333         (RenderRegion):
2334
2335 2012-08-17  Sukolsak Sakshuwong  <sukolsak@google.com>
2336
2337         Disconnect UndoManager when its undo scope host is destroyed
2338         https://bugs.webkit.org/show_bug.cgi?id=94388
2339
2340         Reviewed by Ryosuke Niwa.
2341
2342         Disconnect UndoManager in Element's destructor to prevent
2343         use-after-free vulnerabilities.
2344
2345         Test: editing/undomanager/undoscopehost-use-after-free.html
2346
2347         * dom/Element.cpp:
2348         (WebCore::Element::~Element):
2349
2350 2012-08-17  Dan Bernstein  <mitz@apple.com>
2351
2352         Fixed incorrect references to JSVoidCallback.{cpp,h} in the project file.
2353
2354         * WebCore.xcodeproj/project.pbxproj:
2355
2356 2012-08-17  Ryosuke Niwa  <rniwa@webkit.org>
2357
2358         Fix Xcode project file.
2359
2360         * WebCore.xcodeproj/project.pbxproj:
2361
2362 2012-08-17  Kangil Han  <kangil.han@samsung.com>
2363
2364         [BlackBerry][EFL] Remove compile warning in WebCore
2365         https://bugs.webkit.org/show_bug.cgi?id=94328
2366
2367         Reviewed by Rob Buis.
2368
2369         Fixed compile time warning in WebCore.
2370
2371         * platform/efl/RenderThemeEfl.cpp:
2372         (WebCore::RenderThemeEfl::createEdje): unused variable ‘errmsg’ [-Wunused-variable]
2373         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
2374         (WebCore::HarfBuzzShaper::selectionRect): ‘toX’ may be used uninitialized in this function [-Wuninitialized], ‘fromX’ may be used uniniti
2375
2376 2012-08-17  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2377
2378         [V8] use checkInboundData in setWebGLArrayHelper
2379         https://bugs.webkit.org/show_bug.cgi?id=93051
2380
2381         Reviewed by Kenneth Russell.
2382
2383         Use TypedArray method checkInboundData in setWebGLArrayHelper instead
2384         of performing the computation manually.
2385
2386         No new tests. This patch doesn't change behavior.
2387
2388         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2389         (WebCore::setWebGLArrayHelper):
2390
2391 2012-08-17  Alexey Proskuryakov  <ap@apple.com>
2392
2393         REGRESSION (r125912): Crashes in worker tests
2394         https://bugs.webkit.org/show_bug.cgi?id=94390
2395
2396         Reviewed by Brady Eidson and Sam Weinig.
2397
2398         * bindings/js/JSDOMBinding.cpp: (WebCore::reportException): It's always fine
2399         to report an exception on a worker context, but it's not fine to treat those as windows.
2400
2401 2012-08-17  James Robinson  <jamesr@chromium.org>
2402
2403         [chromium] Add missing header files to .gypi and missing include to CCTiledLayerImpl.cpp
2404         https://bugs.webkit.org/show_bug.cgi?id=94391
2405
2406         Reviewed by Adrienne Walker.
2407
2408         * WebCore.gypi:
2409         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2410
2411 2012-08-17  David Grogan  <dgrogan@chromium.org>
2412
2413         IndexedDB: Test if getting a TRANSACTION_INACTIVE_ERR is possible when setting version
2414         https://bugs.webkit.org/show_bug.cgi?id=94269
2415
2416         Reviewed by Ojan Vafai.
2417
2418         I don't see a path through which this code is exercised.
2419         ASSERT_NOT_REACHED doesn't cause any of our tests to fail. It might be
2420         timing-related, in which case this ASSERT should be sporadically hit.
2421         If this ASSERT is hit, see if we can write a test that exercises it or
2422         at least add comments explaining how it gets exercised. If this ASSERT
2423         is not hit after a while, change it to
2424         ASSERT(transaction.scheduleTask(...)).
2425
2426         No new tests, we're looking for existing tests to fail.
2427
2428         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2429         (WebCore::IDBDatabaseBackendImpl::setVersion):
2430         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
2431
2432 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2433
2434         Unreviewed, rolling out r125922.
2435         http://trac.webkit.org/changeset/125922
2436         https://bugs.webkit.org/show_bug.cgi?id=94389
2437
2438         "Causing failing/crashing tests on Mac bots" (Requested by
2439         bradee-oh on #webkit).
2440
2441         * WebCore.gypi:
2442         * inspector/front-end/CPUProfileView.js:
2443         (WebInspector.CPUProfileHeader.prototype.createView):
2444         * inspector/front-end/CSSSelectorProfileView.js:
2445         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
2446         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
2447         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
2448         (WebInspector.CSSProfileHeader.prototype.createView):
2449         * inspector/front-end/HeapSnapshotDataGrids.js:
2450         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
2451         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
2452         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
2453         * inspector/front-end/HeapSnapshotView.js:
2454         (WebInspector.HeapSnapshotView.prototype._profiles):
2455         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
2456         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2457         (WebInspector.HeapProfileHeader.prototype.createView):
2458         * inspector/front-end/InspectorFrontendAPI.js:
2459         (InspectorFrontendAPI.isProfilingJavaScript):
2460         (InspectorFrontendAPI.startProfilingJavaScript):
2461         (InspectorFrontendAPI.stopProfilingJavaScript):
2462         * inspector/front-end/NativeMemorySnapshotView.js:
2463         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
2464         * inspector/front-end/ProfilesPanel.js:
2465         (WebInspector.ProfileType.prototype.buttonClicked):
2466         (WebInspector.ProfileHeader.prototype.view):
2467         (WebInspector.ProfileHeader.prototype.createView):
2468         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2469         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
2470         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
2471         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
2472         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
2473         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
2474         * inspector/front-end/Settings.js:
2475         * inspector/front-end/externs.js:
2476         * inspector/front-end/inspector.html:
2477         * inspector/front-end/inspector.js:
2478         (WebInspector._panelDescriptors):
2479         (WebInspector._toggleSearchingForNode):
2480         (WebInspector._requestZoom.set InspectorFrontendHost):
2481         (WebInspector._requestZoom):
2482         (WebInspector.documentClick.followLink):
2483         (WebInspector.documentClick):
2484         (WebInspector.frontendReused):
2485
2486 2012-08-17  Julien Chaffraix  <jchaffraix@webkit.org>
2487
2488         Introduce a will-be-removed-from-tree notification in RenderObject
2489         https://bugs.webkit.org/show_bug.cgi?id=94271
2490
2491         Reviewed by Abhishek Arya.
2492
2493         Following bug 93874, we have an insertion notification. This change adds the
2494         matching removal notification (willBeRemovedFromTree).
2495
2496         Refactoring covered by existing tests.
2497
2498         * rendering/RenderObjectChildList.cpp:
2499         (WebCore::RenderObjectChildList::removeChildNode):
2500         Removed the code from here and moved it below.
2501
2502         * rendering/RenderObject.cpp:
2503         (WebCore::RenderObject::willBeRemovedFromTree):
2504         * rendering/RenderObject.h:
2505         This is the base function that should be called by every instance.
2506
2507         * rendering/RenderListItem.cpp:
2508         (WebCore::RenderListItem::willBeRemovedFromTree):
2509         * rendering/RenderListItem.h:
2510         * rendering/RenderQuote.cpp:
2511         (WebCore::RenderQuote::willBeRemovedFromTree):
2512         * rendering/RenderQuote.h:
2513         * rendering/RenderRegion.cpp:
2514         (WebCore::RenderRegion::willBeRemovedFromTree):
2515         * rendering/RenderRegion.h:
2516         Overriden functions.
2517
2518 2012-08-17  Brian Anderson  <brianderson@chromium.org>
2519
2520         Fix vsyncTick drought when vsync throttling is disabled
2521         https://bugs.webkit.org/show_bug.cgi?id=94012
2522
2523         Reviewed by James Robinson.
2524
2525         CCFrameRateController made an assumption that every vsyncTick results
2526         in a call to didBeginFrame, which is not necessarily true and causes
2527         the CCFrameRateController to stop ticking when vsync is disabled. We
2528         move the manual ticks out of didBeginFrame and manually tick in the
2529         proper place.
2530
2531         CCFrameRateControllerTest updated with use cases that should tick
2532         without a didBeginFrame and will fail without this patch.
2533
2534         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2535         (WebCore::CCFrameRateController::setActive):
2536         (WebCore::CCFrameRateController::onTimerTick):
2537         (WebCore::CCFrameRateController::didBeginFrame):
2538
2539 2012-08-16  Ojan Vafai  <ojan@chromium.org>
2540
2541         Delete some dead code in RenderBox::computePercentageLogicalHeight
2542         https://bugs.webkit.org/show_bug.cgi?id=94262
2543
2544         Reviewed by Tony Chang.
2545
2546         I'm pretty sure this is dead code. None of the layout tests hit this code,
2547         including the ones added in the original patch http://trac.webkit.org/changeset/10983.
2548         I spent a good while and could not concoct a test that hits this code.
2549
2550         The test-cases added in that file, as well as the test-cases I came up with that should
2551         go through this codepath, instead go through computePositionedLogicalHeight and never 
2552         hit computePercentageLogicalHeight.
2553         * rendering/RenderBox.cpp:
2554         (WebCore::RenderBox::computePercentageLogicalHeight):
2555
2556 2012-08-17  Benjamin Poulain  <bpoulain@apple.com>
2557
2558         Make it easier to append a literal to StringBuilder
2559         https://bugs.webkit.org/show_bug.cgi?id=94273
2560
2561         Reviewed by Kentaro Hara.
2562
2563         Use StringBuilder::appendLiteral() in MarkupAccumulator instead of computing every
2564         value individually.
2565
2566         * editing/MarkupAccumulator.cpp:
2567         (WebCore::MarkupAccumulator::appendComment):
2568         (WebCore::MarkupAccumulator::appendXMLDeclaration):
2569         (WebCore::MarkupAccumulator::appendDocumentType):
2570         (WebCore::MarkupAccumulator::appendCDATASection):
2571
2572 2012-08-17  Benjamin Poulain  <bpoulain@apple.com>
2573
2574         Share the StringImpl the CSS property names
2575         https://bugs.webkit.org/show_bug.cgi?id=94187
2576
2577         Reviewed by Alexey Proskuryakov.
2578
2579         Previously, we would instanciate a new String every time a CSS property name was needed.
2580
2581         This patches moves the creation of the AtomicString to CSSPropertyNames and reuse that
2582         StringImpl whenever needed.
2583
2584         With the patch, accessing CSS property names from JavaScript gets about 2.1 times faster.
2585
2586         * css/CSSComputedStyleDeclaration.cpp:
2587         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2588         (WebCore::CSSComputedStyleDeclaration::item):
2589         * css/CSSPrimitiveValue.cpp:
2590         (WebCore::valueOrPropertyName):
2591         * css/CSSProperty.cpp:
2592         (WebCore::CSSProperty::cssName):
2593         * css/PropertySetCSSStyleDeclaration.cpp:
2594         (WebCore::PropertySetCSSStyleDeclaration::item):
2595         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
2596         * css/makeprop.pl:
2597         * inspector/InspectorCSSAgent.cpp:
2598         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
2599         * inspector/InspectorStyleSheet.cpp:
2600         (WebCore::InspectorStyle::styleWithProperties):
2601         * page/animation/ImplicitAnimation.cpp:
2602         (WebCore::ImplicitAnimation::sendTransitionEvent):
2603
2604 2012-08-16  James Robinson  <jamesr@chromium.org>
2605
2606         [chromium] Add Source/WebCore/platform/graphics/chromium/cc/ to include path and remove cc/ prefix from includes
2607         https://bugs.webkit.org/show_bug.cgi?id=94279
2608
2609         Reviewed by Adam Barth.
2610
2611         This brings us more in line with the rest of the WebKit repo and avoids potential header collisions during
2612         transition.
2613
2614         * WebCore.gyp/WebCore.gyp:
2615         * platform/chromium/support/CCThreadImpl.cpp:
2616         * platform/chromium/support/CCThreadImpl.h:
2617         * platform/chromium/support/WebCompositorImpl.cpp:
2618         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
2619         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
2620         * platform/graphics/chromium/ContentLayerChromium.cpp:
2621         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2622         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
2623         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
2624         * platform/graphics/chromium/IOSurfaceLayerChromium.cpp:
2625         * platform/graphics/chromium/ImageLayerChromium.cpp:
2626         * platform/graphics/chromium/LayerChromium.cpp:
2627         * platform/graphics/chromium/LayerChromium.h:
2628         * platform/graphics/chromium/LayerRendererChromium.cpp:
2629         * platform/graphics/chromium/LayerRendererChromium.h:
2630         * platform/graphics/chromium/LayerTextureUpdater.h:
2631         * platform/graphics/chromium/LinkHighlight.cpp:
2632         * platform/graphics/chromium/RateLimiter.cpp:
2633         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2634         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2635         * platform/graphics/chromium/SolidColorLayerChromium.cpp:
2636         * platform/graphics/chromium/TextureLayerChromium.cpp:
2637         * platform/graphics/chromium/TiledLayerChromium.cpp:
2638         * platform/graphics/chromium/TiledLayerChromium.h:
2639         * platform/graphics/chromium/TreeSynchronizer.cpp:
2640         * platform/graphics/chromium/VideoLayerChromium.cpp:
2641         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
2642         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
2643         * platform/graphics/chromium/cc/CCAnimationCurve.cpp:
2644         * platform/graphics/chromium/cc/CCAnimationEvents.h:
2645         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp:
2646         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h:
2647         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2648         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
2649         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
2650         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
2651         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
2652         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
2653         * platform/graphics/chromium/cc/CCDrawQuad.h:
2654         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
2655         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2656         * platform/graphics/chromium/cc/CCFrameRateController.h:
2657         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
2658         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
2659         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
2660         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
2661         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
2662         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
2663         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
2664         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
2665         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2666         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2667         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2668         * platform/graphics/chromium/cc/CCLayerImpl.h:
2669         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
2670         * platform/graphics/chromium/cc/CCLayerIterator.h:
2671         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
2672         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
2673         * platform/graphics/chromium/cc/CCLayerSorter.h:
2674         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2675         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2676         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2677         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2678         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2679         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2680         * platform/graphics/chromium/cc/CCMathUtil.cpp:
2681         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2682         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2683         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
2684         * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
2685         * platform/graphics/chromium/cc/CCPrioritizedTexture.h:
2686         * platform/graphics/chromium/cc/CCProxy.cpp:
2687         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2688         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2689         * platform/graphics/chromium/cc/CCRenderPass.h:
2690         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
2691         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
2692         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2693         * platform/graphics/chromium/cc/CCRenderSurface.h:
2694         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2695         * platform/graphics/chromium/cc/CCRenderer.h:
2696         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
2697         * platform/graphics/chromium/cc/CCResourceProvider.h:
2698         * platform/graphics/chromium/cc/CCScheduler.cpp:
2699         * platform/graphics/chromium/cc/CCScheduler.h:
2700         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2701         * platform/graphics/chromium/cc/CCScopedTexture.cpp:
2702         * platform/graphics/chromium/cc/CCScopedTexture.h:
2703         * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
2704         * platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp:
2705         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.cpp:
2706         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.h:
2707         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2708         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2709         * platform/graphics/chromium/cc/CCSettings.cpp:
2710         * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
2711         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2712         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2713         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
2714         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
2715         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2716         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2717         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp:
2718         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h:
2719         * platform/graphics/chromium/cc/CCTexture.cpp:
2720         * platform/graphics/chromium/cc/CCTexture.h:
2721         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
2722         * platform/graphics/chromium/cc/CCTextureDrawQuad.h:
2723         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2724         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2725         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
2726         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
2727         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp:
2728         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2729         * platform/graphics/chromium/cc/CCThreadProxy.h:
2730         * platform/graphics/chromium/cc/CCThreadTask.h:
2731         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
2732         * platform/graphics/chromium/cc/CCTileDrawQuad.h:
2733         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2734         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2735         * platform/graphics/chromium/cc/CCTimer.cpp:
2736         * platform/graphics/chromium/cc/CCTimingFunction.cpp:
2737         * platform/graphics/chromium/cc/CCTimingFunction.h:
2738         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2739         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2740         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp:
2741         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h:
2742         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2743
2744 2012-08-17  Ojan Vafai  <ojan@chromium.org>
2745
2746         Delete dead code in deprecated flexbox for RTL line-clamp
2747         https://bugs.webkit.org/show_bug.cgi?id=94282
2748
2749         Reviewed by Tony Chang.
2750
2751         -webkit-line-clamp and direction:rtl is not supported. Delete some
2752         obviously dead code that half-tries to support it.
2753         * rendering/RenderDeprecatedFlexibleBox.cpp:
2754         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2755
2756 2012-08-17  John Mellor  <johnme@chromium.org>
2757
2758         Text Autosizing: Increase line height in proportion to font size.
2759         https://bugs.webkit.org/show_bug.cgi?id=91660
2760
2761         Reviewed by Julien Chaffraix.
2762
2763         This patch causes line heights to be increased in proportion to font
2764         size (so autosized text doesn't overlap itself). It does this by adding
2765         a textAutosizingMultiplier() to RenderStyle, which the lineHeight()
2766         getter multiplies its response by.
2767
2768         It also cleans up one or two things, for example treatAsInline is
2769         renamed isNotAnAutosizingContainer to clarify that its purpose is to
2770         discriminate autosizing containers (the smallest unit that we can turn
2771         Text Autosizing on or off for; in particular these are not allowed to
2772         be line participants, since multiple sizes on one line looks awful).
2773
2774         Tests: fast/text-autosizing/em-margin-border-padding.html
2775                fast/text-autosizing/narrow-child.html
2776                fast/text-autosizing/nested-em-line-height.html
2777                fast/text-autosizing/simple-paragraph.html
2778                fast/text-autosizing/span-child.html
2779                fast/text-autosizing/wide-child.html
2780
2781         * css/StyleBuilder.cpp:
2782         (WebCore::ApplyPropertyLineHeight::applyValue):
2783
2784             Replaced Length(-100.0, Percent) with RenderStyle::initialLineHeight(),
2785             which is equivalent but makes the intent clearer.
2786
2787         (WebCore::ApplyPropertyLineHeight::createHandler):
2788
2789             Use specifiedLineHeight to match setLineHeight which takes a specified
2790             line height (and generally this avoids accidentally inheriting text
2791             autosizing).
2792
2793         * css/StyleResolver.cpp:
2794         (WebCore::StyleResolver::applyProperty):
2795
2796             Similarly use specifiedLineHeight when inheriting line height.
2797
2798         * page/animation/CSSPropertyAnimation.cpp:
2799         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
2800
2801             Get and set specified lineHeight/fontSize if Text Autosizing is
2802             enabled to avoid setting the specified value to the computed value
2803             (causing values to be multiplied more than once!).
2804
2805         * platform/blackberry/RenderThemeBlackBerry.cpp:
2806         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
2807
2808             Adjust for renamed setBlendedFontSize, and maintain cast to int.
2809
2810         * rendering/RenderTextControlSingleLine.cpp:
2811         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2812
2813             Replaced Length(-100.0, Percent) with RenderStyle::initialLineHeight(),
2814             which is equivalent but makes the intent clearer.
2815
2816         * rendering/TextAutosizer.cpp:
2817         (WebCore::TextAutosizer::processSubtree):
2818
2819             Use nextInPreOrderMatchingFilter instead of traverseNext, and some
2820             other methods that got renamed.
2821
2822         (WebCore::TextAutosizer::processBox):
2823
2824             Renamed from processBlock, since RenderBoxes are sufficient; use
2825             renamed nextInPreOrderMatchingFilter; make two calls to setMultiplier
2826             (one for parent for line height) instead of processText.
2827
2828         (WebCore::TextAutosizer::setMultiplier):
2829
2830             Simplified from previous processText method; this just sets the
2831             style's textAutosizingMultiplier (and the style does the rest).
2832
2833         (WebCore::TextAutosizer::isNotAnAutosizingContainer):
2834
2835             Renamed from treatAsInline; added explanatory comment; changed
2836             isRenderBlock to isBox as boxes still have logicalWidth; changed
2837             isInlineBlockOrInlineTable to isInline as it was an omission that
2838             other inlines were allowed.
2839
2840         (WebCore::TextAutosizer::nextInPreOrderMatchingFilter):
2841
2842             Renamed from TextAutosizer::traverseNext.
2843
2844         (RenderObjectFilterFunctor):
2845
2846             Renamed from RenderObjectFilter to clafiry that it's a function ptr.
2847
2848         * rendering/TextAutosizer.h:
2849         (TextAutosizer): Previously mentioned renamings.
2850
2851         * rendering/mathml/RenderMathMLSubSup.cpp:
2852         (WebCore::RenderMathMLSubSup::fixScriptsStyle):
2853
2854             Adjust for renamed setBlendedFontSize.
2855
2856         * rendering/style/RenderStyle.cpp:
2857         (WebCore::RenderStyle::diff):
2858
2859             textAutosizingMultiplier is a StyleDifferenceLayout (we want
2860             setNeedsLayoutAndPrefWidthsRecalc to get called).
2861
2862         (WebCore::RenderStyle::setFontSize):
2863
2864             Renamed from setBlendedFontSize; if Text Autosizing is enabled and a
2865             multiplier is set it auto-calculates the computedSize; float
2866             param instead of int as discussed on webkit.org/b/91660.
2867
2868         * rendering/style/RenderStyle.h:
2869
2870             Added specifiedFontSize, computedFontSize and specifiedLineHeight
2871             getters; changed lineHeight to dynamically calculate autosized line
2872             height, and made computedLineHeight use this value instead of the
2873             specified line height; also added textAutosizingMultiplier
2874             getter/setter (the setter updated the font description's computed
2875             size, by calling setFontSize); also renamed the parameter to
2876             setLineHeight to explicitly note that it's setting the
2877             specifiedLineHeight (and can still be adjusted by autosizing).
2878
2879         * rendering/style/StyleVisualData.cpp/.h:
2880
2881             Added m_textAutosizingMultiplier (this seems the best place to put a
2882             non-inherited non-rare presentational property).
2883
2884 2012-08-17  Raphael Kubo da Costa  <rakuco@webkit.org>
2885
2886         [CMake] Add FindDBus.cmake and use it in the EFL port.
2887         https://bugs.webkit.org/show_bug.cgi?id=94319
2888
2889         Reviewed by Daniel Bates.
2890
2891         * PlatformEfl.cmake: Link against DBUS_LIBRARIES and add
2892         DBUS_INCLUDE_DIRS to the include path list if BATTERY_STATUS
2893         support is enabled.
2894
2895 2012-08-17  Pavel Feldman  <pfeldman@chromium.org>
2896
2897         Web Inspector: make profiles panel a lazily loaded module.
2898         https://bugs.webkit.org/show_bug.cgi?id=94351
2899
2900         Reviewed by Yury Semikhatsky.
2901
2902         Moving files from .html to importScript.
2903
2904         * WebCore.gypi:
2905         * inspector/front-end/CPUProfileView.js:
2906         (WebInspector.CPUProfileHeader.prototype.createView):
2907         * inspector/front-end/CSSSelectorProfileView.js:
2908         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
2909         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
2910         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
2911         (WebInspector.CSSProfileHeader.prototype.createView):
2912         * inspector/front-end/HeapSnapshotDataGrids.js:
2913         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
2914         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
2915         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
2916         * inspector/front-end/HeapSnapshotView.js:
2917         (WebInspector.HeapSnapshotView.prototype._profiles):
2918         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
2919         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2920         (WebInspector.HeapProfileHeader.prototype.createView):
2921         * inspector/front-end/InspectorFrontendAPI.js:
2922         (InspectorFrontendAPI.isProfilingJavaScript):
2923         (InspectorFrontendAPI.startProfilingJavaScript):
2924         (InspectorFrontendAPI.stopProfilingJavaScript):
2925         * inspector/front-end/NativeMemorySnapshotView.js:
2926         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
2927         * inspector/front-end/ProfilesPanel.js:
2928         (WebInspector.ProfileType.prototype.buttonClicked):
2929         (WebInspector.ProfileHeader.prototype.view):
2930         (WebInspector.ProfileHeader.prototype.createView):
2931         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2932         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
2933         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
2934         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
2935         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
2936         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
2937         * inspector/front-end/externs.js:
2938         * inspector/front-end/inspector.html:
2939         * inspector/front-end/inspector.js:
2940         (WebInspector._panelDescriptors):
2941         (WebInspector._toggleSearchingForNode):
2942         (WebInspector._profilesLinkifier):
2943         (WebInspector._requestZoom.set InspectorFrontendHost):
2944         (WebInspector._requestZoom):
2945         (WebInspector.documentClick.followLink):
2946         (WebInspector.documentClick):
2947
2948 2012-08-17  Dominic Mazzoni  <dmazzoni@google.com>
2949
2950         REGRESSION(r125710) - canvas-fallback-content tests asserting in Chromium
2951         https://bugs.webkit.org/show_bug.cgi?id=94156
2952
2953         Reviewed by Chris Fleizach.
2954
2955         When determining if a Node is focusable, check the canvas subtree
2956         case first before encountering assertions that assume that anything
2957         focusable must have an associated renderer.
2958
2959         Fixes existing tests so they don't assert.
2960
2961         * dom/Node.cpp:
2962         (WebCore::Node::isFocusable):
2963
2964 2012-08-17  Arpita Bahuguna  <arpitabahuguna@gmail.com>
2965
2966         ASSERTION FAILED: allocatedMaxLogicalWidth <= cellMaxLogicalWidth : int WebCore::AutoTableLayout::calcEffectiveLogicalWidth()
2967         https://bugs.webkit.org/show_bug.cgi?id=92471
2968
2969         Reviewed by Julien Chaffraix.
2970
2971         The assert occurs due to the float based computations causing a floating
2972         point rounding error between allocatedMaxLogicalWidth and cellMaxLogicalWidth.
2973
2974         Test: fast/table/assert-autotablelayout-maxlogicalwidth.html
2975
2976         * rendering/AutoTableLayout.cpp:
2977         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2978         Converting float based calculations for computing max logical width to int based;
2979         similar to the calculations for min logical width.
2980
2981 2012-08-17  John J. Barton  <johnjbarton@chromium.org>
2982
2983         Web Inspector: Add //@ sourceURL to test-runner evals
2984         https://bugs.webkit.org/show_bug.cgi?id=94268
2985
2986         Reviewed by Pavel Feldman.
2987
2988         Postpend a line that tells the debugger what to call this eval buffer.
2989         Name ends in the sequennce number so all evals will appear together.
2990         evaluateInWebInspector0.js eg
2991
2992         * inspector/front-end/TestController.js:
2993         (WebInspector.evaluateForTestInFrontend):
2994
2995 2012-08-17  Adam Barth  <abarth@webkit.org>
2996
2997         REGRESSION (r125592): Crash in Console::addMessage, under InjectedBundle::reportException
2998         https://bugs.webkit.org/show_bug.cgi?id=94220
2999
3000         Reviewed by Alexey Proskuryakov.
3001
3002         Previously, this code was trying to detect whether a DOMWindow is
3003         currently displayed in a Frame by testing whether
3004         DOMWindow->scriptExecutionContext is zero. That used to work, but now
3005         that DOMWindow->scriptExecutionContext is non-zero for detached
3006         DOMWindow, this code doesn't work anymore. This patch replaces the code
3007         with the current idiom, which is to call
3008         DOMWindow::isCurrentDisplayedInFrame.
3009
3010         Alexey and I couldn't figure out how to test this change. This bug
3011         causes a crash when some Safari extensions are installed, but it's not
3012         clear whether this bug can be triggered from the web platform. We're
3013         going to ask Jessie for ideas when she gets back from vacation.
3014
3015         * bindings/js/JSDOMBinding.cpp:
3016         (WebCore::reportException):
3017
3018 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3019
3020         Unreviewed, rolling out r125892.
3021         http://trac.webkit.org/changeset/125892
3022         https://bugs.webkit.org/show_bug.cgi?id=94350
3023
3024         Broke windows build (Requested by vollick on #webkit).
3025
3026         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
3027         (WebCore::CCActiveAnimation::CCActiveAnimation):
3028         (WebCore::CCActiveAnimation::~CCActiveAnimation):
3029         (WebCore::CCActiveAnimation::setRunState):
3030         (WebCore::CCActiveAnimation::cloneForImplThread):
3031         * platform/graphics/chromium/cc/CCActiveAnimation.h:
3032         (CCActiveAnimation):
3033         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3034         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
3035         (WebCore):
3036         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
3037         (WebCore::CCLayerAnimationController::tickAnimations):
3038
3039 2012-08-17  Zach Kuznia  <zork@chromium.org>
3040
3041         Add support for Skia Magnifier filter to Chromium layers
3042         https://bugs.webkit.org/show_bug.cgi?id=93939
3043
3044         Reviewed by James Robinson.
3045
3046         This is used by Chrome OS for the screen magnifier
3047
3048         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
3049         (WebCore::CCRenderSurfaceFilters::optimize):
3050         (WebCore::CCRenderSurfaceFilters::apply):
3051
3052 2012-08-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3053
3054         Touch adjustment for context menu gestures
3055         https://bugs.webkit.org/show_bug.cgi?id=94101
3056
3057         Reviewed by Antonio Gomes.
3058
3059         Adds a new filter for detecting nodes that provides extra context-menu items, 
3060         and use that in a new set of functions for adjusting context-menu gestures.
3061
3062         Tests: touchadjustment/context-menu-select-text.html
3063                touchadjustment/context-menu.html
3064
3065         * page/EventHandler.cpp:
3066         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
3067         (WebCore::EventHandler::adjustGesturePosition):
3068         * page/EventHandler.h:
3069         (EventHandler):
3070         * page/TouchAdjustment.cpp:
3071         (WebCore::TouchAdjustment::nodeProvidesContextMenuItems):
3072         (TouchAdjustment):
3073         (WebCore::findBestContextMenuCandidate):
3074         * page/TouchAdjustment.h:
3075         * testing/Internals.cpp:
3076         (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
3077         (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
3078         * testing/Internals.h:
3079         (Internals):
3080         * testing/Internals.idl:
3081
3082 2012-08-17  Pavel Feldman  <pfeldman@chromium.org>
3083
3084         https://bugs.webkit.org/show_bug.cgi?id=94326
3085
3086         Reviewed by Vsevolod Vlasov.
3087
3088         Loading code on demand (upon the panel access).
3089
3090         * WebCore.gypi:
3091         * inspector/front-end/AuditsPanel.js:
3092         * inspector/front-end/CodeMirrorTextEditor.js:
3093         (WebInspector.CodeMirrorTextEditor):
3094         (WebInspector.CodeMirrorTextEditor.prototype._toRange):
3095         * inspector/front-end/ElementsPanel.js:
3096         * inspector/front-end/ExtensionServer.js:
3097         (WebInspector.ExtensionServer.prototype._onCreatePanel):
3098         * inspector/front-end/Panel.js:
3099         (WebInspector.Panel):
3100         (WebInspector.PanelDescriptor):
3101         (WebInspector.PanelDescriptor.prototype.panel):
3102         * inspector/front-end/ResourcesPanel.js:
3103         * inspector/front-end/SourceFrame.js:
3104         (WebInspector.SourceFrame):
3105         * inspector/front-end/TimelinePanel.js:
3106         * inspector/front-end/inspector.html:
3107         * inspector/front-end/inspector.js:
3108         (WebInspector._panelDescriptors):
3109         (WebInspector.doLoadedDone):
3110         * inspector/front-end/utilities.js:
3111
3112 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3113
3114         Unreviewed, rolling out r125880.
3115         http://trac.webkit.org/changeset/125880
3116         https://bugs.webkit.org/show_bug.cgi?id=94347
3117
3118         Breaks front-end compilation: SourceFrame passed where View is
3119         expected. (Requested by pfeldman on #webkit).
3120
3121         * inspector/front-end/CodeMirrorTextEditor.js:
3122         (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries):
3123         * inspector/front-end/DefaultTextEditor.js:
3124         (WebInspector.DefaultTextEditor.prototype.wasShown):
3125         (WebInspector.DefaultTextEditor.prototype.willHide):
3126         * inspector/front-end/JavaScriptSourceFrame.js:
3127         (WebInspector.JavaScriptSourceFrame):
3128         (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
3129         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
3130         * inspector/front-end/SourceFrame.js:
3131         (WebInspector.SourceFrame):
3132         (WebInspector.SourceFrame.prototype.wasShown):
3133         (WebInspector.SourceFrame.prototype.willHide):
3134         * inspector/front-end/TextEditor.js:
3135         * inspector/front-end/scriptsPanel.css:
3136         (.script-view):
3137         (.script-view.visible):
3138
3139 2012-08-17  Milian Wolff  <milian.wolff@kdab.com>
3140
3141         [Qt] QNX build fails due to ctype usage in system headers
3142         https://bugs.webkit.org/show_bug.cgi?id=93849
3143
3144         Reviewed by Simon Hausmann.
3145
3146         Move the check for whether DisallowCType should be active or not
3147         to the DisallowCType.h header. This way, we can update the list
3148         of platforms or OSes which do not work with this header in a
3149         central place. All users can now safely include the header
3150         and do not need to place custom guards around it.
3151
3152         * config.h:
3153
3154 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
3155
3156         Unreviewed trivial build fix: Correct file name in bindings/js/DOMTransaction.h used in HEADERS
3157
3158         * Target.pri:
3159
3160 2012-08-17  Ian Vollick  <vollick@chromium.org>
3161
3162         [chromium] Add tracing for active composited animations
3163         https://bugs.webkit.org/show_bug.cgi?id=84210
3164
3165         Reviewed by James Robinson.
3166
3167         This patch issues the trace events from the animations. Animations will
3168         report when they start and finish on the main and impl threads (via
3169         TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
3170         change state.
3171
3172         No new tests, only changes tracing behavior.
3173
3174         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
3175         (WebCore::CCActiveAnimation::CCActiveAnimation):
3176         (WebCore::CCActiveAnimation::~CCActiveAnimation):
3177         (WebCore::CCActiveAnimation::setRunState):
3178         (WebCore::CCActiveAnimation::clone):
3179         (WebCore):
3180         (WebCore::CCActiveAnimation::cloneAndInitialize):
3181         * platform/graphics/chromium/cc/CCActiveAnimation.h:
3182         (WebCore::CCActiveAnimation::isControllingInstance):
3183         (CCActiveAnimation):
3184         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3185         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
3186         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
3187         (WebCore::CCLayerAnimationController::tickAnimations):
3188
3189 2012-08-17  John J. Barton  <johnjbarton@chromium.org>
3190
3191         Web Inspector: enhance external test-runner and add cleanup code
3192         https://bugs.webkit.org/show_bug.cgi?id=94231
3193
3194         Reviewed by Pavel Feldman.
3195
3196         add 'click on test result to select for next run' feature.
3197         remember the users size for the inspector popup.
3198         refactor server URLs to one location at top of file.
3199         use the same value for both tests and scanner servers.
3200         remove one extra instruction on the page.
3201         refactor clean up code.
3202         close the two popup windows if the test-runner.html is reloaded.
3203
3204         * inspector/front-end/test-runner.html:
3205
3206 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
3207
3208         Unreviewed trivial follow-up fix to r125873: Add missing adoptRef to avoid leaks.
3209
3210         * bridge/qt/qt_instance.cpp:
3211         (JSC::Bindings::WeakMap::set):
3212
3213 2012-08-17  Kentaro Hara  <haraken@chromium.org>
3214
3215         Remove RefPtr from DateInputType::m_pickerElement
3216         https://bugs.webkit.org/show_bug.cgi?id=94330
3217
3218         Reviewed by Kent Tamura.
3219
3220         To avoid reference cycles of RefPtr<Node>s, we want to remove
3221         unnecessary RefPtr<Node>s. The rationale is describe in bug 94324.
3222
3223         DateInputType::m_pickerElement does not need to be a RefPtr<Node>,
3224         because it is guaranteed to point to a shadow DOM tree of the DateInputType
3225         node, which is guaranteed to exist in the subtree of the DateInputType node.
3226
3227         No tests. No change in behavior.
3228
3229         * html/DateInputType.cpp:
3230         (WebCore::DateInputType::DateInputType):
3231         (WebCore::DateInputType::createShadowSubtree):
3232         (WebCore::DateInputType::destroyShadowSubtree):
3233         * html/DateInputType.h:
3234         (DateInputType):
3235
3236 2012-08-17  Dan Carney  <dcarney@google.com>
3237
3238         Refactor away IsolatedWorld
3239         https://bugs.webkit.org/show_bug.cgi?id=93971
3240
3241         Reviewed by Kentaro Hara.
3242
3243         Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
3244         This update fixes a bad assertion which caused the previous
3245         version to be rolled back.
3246
3247         No tests.  No change in functionality.
3248
3249         * UseV8.cmake:
3250         * WebCore.gypi:
3251         * bindings/v8/DOMWrapperWorld.cpp:
3252         (WebCore):
3253         (WebCore::mainThreadNormalWorld):
3254         * bindings/v8/DOMWrapperWorld.h:
3255         (WebCore):
3256         (DOMWrapperWorld):
3257         (WebCore::DOMWrapperWorld::create):
3258         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
3259         (WebCore::DOMWrapperWorld::count):
3260         (WebCore::DOMWrapperWorld::worldId):
3261         (WebCore::DOMWrapperWorld::domDataStore):
3262         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3263         * bindings/v8/IsolatedWorld.cpp: Removed.
3264         * bindings/v8/IsolatedWorld.h: Removed.
3265         * bindings/v8/V8DOMWrapper.h:
3266         (WebCore::V8DOMWrapper::getCachedWrapper):
3267         * bindings/v8/V8IsolatedContext.cpp:
3268         (WebCore::V8IsolatedContext::V8IsolatedContext):
3269         (WebCore::V8IsolatedContext::destroy):
3270         * bindings/v8/V8IsolatedContext.h:
3271         (WebCore::V8IsolatedContext::getEntered):
3272         (WebCore::V8IsolatedContext::world):
3273         (V8IsolatedContext):
3274         * bindings/v8/V8PerIsolateData.h:
3275         (WebCore::V8PerIsolateData::registerDOMDataStore):
3276         (WebCore::V8PerIsolateData::unregisterDOMDataStore):
3277
3278 2012-08-17  Kangil Han  <kangil.han@samsung.com>
3279
3280         [EFL] Remove alloca usage
3281         https://bugs.webkit.org/show_bug.cgi?id=93931
3282
3283         Reviewed by Carlos Garcia Campos.
3284
3285         This patch is unifying the approaches for the creation of Edje_Message_Float_Set messages, and getting rid of alloca is part of it, since it is not portable.
3286
3287         * platform/efl/RenderThemeEfl.cpp:
3288         (WebCore::RenderThemeEfl::paintThemePart):
3289         * platform/efl/ScrollbarEfl.cpp:
3290         (ScrollbarEfl::updateThumbPositionAndProportion):
3291
3292 2012-08-17  Alexander Pavlov  <apavlov@chromium.org>
3293
3294         Web Inspector: hovering over an image link in Timeline popup kills popup
3295         https://bugs.webkit.org/show_bug.cgi?id=94213
3296
3297         Reviewed by Pavel Feldman.
3298
3299         - Fixed bug with ElementsPanel PopoverHelper acting on the TimelinePanel (due to which the original issue occurs).
3300         - Image preview added to resource entries popover in the timeline.
3301         - Extracted the core image preview building code into UIUtils.js.
3302         - Drive-by: fixed image centering in the preview element.
3303
3304         * inspector/front-end/ElementsPanel.js:
3305         (WebInspector.ElementsPanel):
3306         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
3307         (WebInspector.ElementsPanel.prototype._showPopover):
3308         * inspector/front-end/TimelinePanel.js:
3309         (WebInspector.TimelinePanel.prototype._showPopover.showCallback):
3310         (WebInspector.TimelinePanel.prototype._showPopover):
3311         * inspector/front-end/TimelinePresentationModel.js:
3312         (WebInspector.TimelinePresentationModel.needsPreviewElement):
3313         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
3314         First build the image preview element if necessary, then do everything else.
3315         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
3316         Original generatePopupContent() code plus the preview generation when necessary.
3317         * inspector/front-end/UIUtils.js:
3318         (WebInspector.buildImagePreviewContents.errorCallback):
3319         (WebInspector.buildImagePreviewContents.buildContent):
3320         (WebInspector.buildImagePreviewContents): Extracted from ElementsPanel. Enabled building of preview elements without the dimensions text data.
3321         * inspector/front-end/elementsPanel.css:
3322         (.image-preview-container):
3323         (.image-preview-container img):
3324         * inspector/front-end/timelinePanel.css:
3325         (.image-preview-container): Fixed centering of the preview container contents.
3326         (.image-preview-container img):
3327         (.image-container):
3328
3329 2012-08-17  Andrey Kosyakov  <caseq@chromium.org>
3330
3331         Web Inspector: decouple extension server from the Elements panel
3332         https://bugs.webkit.org/show_bug.cgi?id=94322
3333
3334         Reviewed by Pavel Feldman.
3335
3336         - relay WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged received in ElementsPanel on WebInspector.notifications;
3337
3338         * inspector/front-end/ElementsPanel.js:
3339         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
3340         * inspector/front-end/ExtensionServer.js:
3341
3342 2012-08-17  Jan Keromnes  <janx@linux.com>
3343
3344         Web Inspector: SourceFrame shouldn't be a View
3345         https://bugs.webkit.org/show_bug.cgi?id=93444
3346
3347         Reviewed by Pavel Feldman.
3348
3349         Move SourceFrame from being a View to being an Object. This will allow
3350         future ExtensionSourceFrames to share a single iframe ExtensionView.
3351
3352         * inspector/front-end/CodeMirrorTextEditor.js:
3353         (WebInspector.CodeMirrorTextEditor.prototype.wasShown):
3354         (WebInspector.CodeMirrorTextEditor.prototype.willHide):
3355         * inspector/front-end/DefaultTextEditor.js:
3356         (WebInspector.DefaultTextEditor.prototype.wasShown):
3357         (WebInspector.DefaultTextEditor.prototype.willHide):
3358         * inspector/front-end/JavaScriptSourceFrame.js:
3359         (WebInspector.JavaScriptSourceFrame):
3360         * inspector/front-end/SourceFrame.js:
3361         (WebInspector.SourceFrame):
3362         (WebInspector.SourceFrame.prototype.show):
3363         (WebInspector.SourceFrame.prototype.detach):
3364         (WebInspector.SourceFrame.prototype.focus):
3365         (WebInspector.SourceFrame.prototype._onTextEditorWasShown):
3366         (WebInspector.SourceFrame.prototype._onTextEditorWillHide):
3367         * inspector/front-end/TextEditor.js:
3368         * inspector/front-end/scriptsPanel.css:
3369
3370 2012-08-17  Pavel Chadnov  <chadnov@google.com>
3371
3372         Web Inspector: requests filtering in network tab
3373         https://bugs.webkit.org/show_bug.cgi?id=93090
3374
3375         Reviewed by Vsevolod Vlasov.
3376
3377         Added filtering support to search panel.
3378         Implemented filtering for network panel.
3379         
3380         * inspector/front-end/NetworkPanel.js:
3381         (WebInspector.NetworkLogView.prototype._clearSearchMatchedList):
3382         (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
3383         (WebInspector.NetworkLogView.prototype._highlightMatchedRequests):
3384         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequestForSearch):
3385         (WebInspector.NetworkLogView.prototype.performSearch):
3386         (WebInspector.NetworkLogView.prototype.performFilter):
3387         (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
3388         (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
3389         (WebInspector.NetworkPanel.prototype.performFilter):
3390         (WebInspector.NetworkDataGridNode.prototype._highlightMatchedSubstring):
3391         * inspector/front-end/SearchController.js:
3392         (WebInspector.SearchController):
3393         (WebInspector.SearchController.prototype.cancelSearch):
3394         (WebInspector.SearchController.prototype.showSearchField):
3395         (WebInspector.SearchController.prototype._switchFilterToSearch):
3396         (WebInspector.SearchController.prototype._switchSearchToFilter):
3397         (WebInspector.SearchController.prototype._updateFilterVisibility):
3398         (WebInspector.SearchController.prototype._replaceAll):
3399         (WebInspector.SearchController.prototype._filterCheckboxClick):
3400         (WebInspector.SearchController.prototype._performFilter):
3401         (WebInspector.SearchController.prototype._onFilterInput):
3402         (WebInspector.SearchController.prototype._onSearchInput):
3403         (WebInspector.SearchController.prototype.resetFilter):
3404         * inspector/front-end/inspector.css:
3405         (.filter):
3406         * inspector/front-end/networkLogView.css:
3407         (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other:not(.filtered-out)):
3408
3409 2012-08-17  Anthony Berent  <aberent@chromium.org>
3410
3411         View source doesn't interpret escape characters in hrefs.
3412         https://bugs.webkit.org/show_bug.cgi?id=94216
3413
3414         Reviewed by Adam Barth.
3415
3416         The cause was that HTMLViewSourceDocument was passing the unparsed content of the href attribute to the DOM as the URL for the link.
3417         The fix is to pass the parsed content of the href attribute to the DOM.
3418
3419         Test: fast/forms/frames/viewsource-link-on-href-value.html extended to test this case.
3420
3421         * html/HTMLViewSourceDocument.cpp:
3422         (WebCore::HTMLViewSourceDocument::processTagToken): Pass parsed URL to AddRange.
3423         (WebCore::HTMLViewSourceDocument::addRange):Added argument for parsed URL, and used this instead of text, to create link.
3424         * html/HTMLViewSourceDocument.h:
3425         (HTMLViewSourceDocument): Add new link argument to addRange for parsed URL, defaulting to "".
3426
3427 2012-08-17  Yoshifumi Inoue  <yosin@chromium.org>
3428
3429         [Forms] Rename SpinButtonElement::StepActionHandler to SpinButtonOwner
3430         https://bugs.webkit.org/show_bug.cgi?id=94311
3431
3432         Reviewed by Kent Tamura.
3433
3434         This patch renames SpinButtonElement::StepActionHandler class to
3435         SpinButtonOwner for adding functions to it for communicating spin
3436         button and its owner.
3437
3438         No new tests. This patch doesn't change behavior.
3439
3440         * html/TextFieldInputType.cpp:
3441         (WebCore::TextFieldInputType::~TextFieldInputType):
3442         (WebCore::TextFieldInputType::destroyShadowSubtree):
3443         * html/TextFieldInputType.h:
3444         (TextFieldInputType):
3445         * html/shadow/DateTimeEditElement.cpp:
3446         (WebCore::DateTimeEditElement::~DateTimeEditElement):
3447         * html/shadow/DateTimeEditElement.h:
3448         (DateTimeEditElement):
3449         * html/shadow/SpinButtonElement.cpp:
3450         (WebCore::SpinButtonElement::SpinButtonElement):
3451         (WebCore::SpinButtonElement::create):
3452         (WebCore::SpinButtonElement::doStepAction):
3453         * html/shadow/SpinButtonElement.h:
3454         (WebCore::SpinButtonElement::SpinButtonOwner::~SpinButtonOwner):
3455         (SpinButtonElement):
3456         (WebCore::SpinButtonElement::removeSpinButtonOwner):
3457
3458 2012-08-16  Simon Hausmann  <simon.hausmann@nokia.com>
3459
3460         [Qt] Replace use of internal Weak smart pointer with JSWeakObjectMap
3461         https://bugs.webkit.org/show_bug.cgi?id=93872
3462
3463         Reviewed by Kenneth Rohde Christiansen.
3464
3465         The intention of this patch series is to replace use of internal JSC
3466         API with use of the stable and public C API.
3467
3468         The JSC::Weak template is internal API and the only part of the C API
3469         that exposes similar functionality is the JSWeakObjectMap. It is
3470         special in the sense that its life-time is tied to the life-time of the
3471         JS global object, which in turn is subject to garbage collection. In
3472         order to maximize re-use of the same map across different JSContextRef
3473         instances, we use one JSWeakObjectMap per context group and store the
3474         map in a separate context.
3475
3476         * bridge/qt/qt_instance.cpp:
3477         (JSC::Bindings::unusedWeakObjectMapCallback):
3478         (Bindings):
3479         (JSC::Bindings::WeakMapImpl::WeakMapImpl):
3480         (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
3481         (JSC::Bindings::WeakMap::~WeakMap):
3482         (JSC::Bindings::WeakMap::set):
3483         (JSC::Bindings::WeakMap::get):
3484         (JSC::Bindings::WeakMap::remove):
3485         * bridge/qt/qt_instance.h:
3486         (WeakMapImpl):
3487         (Bindings):
3488         (WeakMap):
3489         (QtInstance):
3490         * bridge/qt/qt_runtime.cpp:
3491         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
3492         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
3493         * bridge/qt/qt_runtime.h:
3494         (QtRuntimeMethod):
3495
3496
3497 2012-08-16  Pavel Feldman  <pfeldman@chromium.org>
3498
3499         Web Inspector: build Elements, Resources, Timeline, Audits and Console panels lazily.
3500         https://bugs.webkit.org/show_bug.cgi?id=94222
3501
3502         Reviewed by Vsevolod Vlasov.
3503
3504         There is no need to construct these panels on inspector startup - we can do that lazily.
3505         This change introduces the concept of PanelDescriptor that is sufficient for the panel
3506         representation before it has been selected. It also makes selected panels build lazily.
3507
3508         The next step is to migrate rest of the panels and load the panel code lazily as well.
3509         That should speed up startup time significantly.
3510
3511         * inspector/front-end/AuditsPanel.js:
3512         (WebInspector.AuditsPanel):
3513         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
3514         (WebInspector.AuditsSidebarTreeElement):
3515         (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
3516         (WebInspector.AuditResultSidebarTreeElement):
3517         (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
3518         * inspector/front-end/ConsolePanel.js:
3519         * inspector/front-end/DOMStorage.js:
3520         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
3521         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
3522         * inspector/front-end/Database.js:
3523         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
3524         * inspector/front-end/ElementsPanel.js:
3525         (WebInspector.ElementsPanel):
3526         (WebInspector.ElementsPanel.prototype.revealAndSelectNode):
3527         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
3528         (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
3529         * inspector/front-end/ElementsTreeOutline.js:
3530         (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
3531         * inspector/front-end/ExtensionPanel.js:
3532         (WebInspector.ExtensionPanel):
3533         (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
3534         * inspector/front-end/ExtensionServer.js:
3535         (WebInspector.ExtensionServer.prototype._onCreatePanel):
3536         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
3537         * inspector/front-end/InspectorFrontendAPI.js:
3538         (InspectorFrontendAPI.isTimelineProfilingEnabled):
3539         (InspectorFrontendAPI.setTimelineProfilingEnabled):
3540         (InspectorFrontendAPI.showConsole):
3541         (InspectorFrontendAPI.showResources):
3542         (InspectorFrontendAPI.enterInspectElementMode):
3543         * inspector/front-end/InspectorView.js:
3544         (WebInspector.InspectorView):
3545         (WebInspector.InspectorView.prototype.addPanel):
3546         (WebInspector.InspectorView.prototype.panel):
3547         (WebInspector.InspectorView.prototype.showPanel):
3548         (WebInspector.InspectorView.prototype._keyDownInternal):
3549         * inspector/front-end/NetworkPanel.js:
3550         * inspector/front-end/Panel.js:
3551         (WebInspector.Panel.prototype.wasShown):
3552         (WebInspector.Panel.prototype.willHide):
3553         (WebInspector.PanelDescriptor):
3554         (WebInspector.PanelDescriptor.prototype.name):
3555         (WebInspector.PanelDescriptor.prototype.title):
3556         (WebInspector.PanelDescriptor.prototype.iconURL):
3557         (WebInspector.PanelDescriptor.prototype.setIconURL):
3558         (WebInspector.PanelDescriptor.prototype.panel):
3559         (WebInspector.PanelDescriptor.prototype.lazy):
3560         * inspector/front-end/ProfilesPanel.js:
3561         * inspector/front-end/ResourceTreeModel.js:
3562         (WebInspector.ResourceTreeModel.prototype.cachedResourcesLoaded):
3563         * inspector/front-end/ResourcesPanel.js:
3564         (WebInspector.ResourcesPanel):
3565         * inspector/front-end/ScriptsPanel.js:
3566         * inspector/front-end/StylesSidebarPane.js:
3567         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
3568         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3569         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
3570         * inspector/front-end/TimelinePanel.js:
3571         * inspector/front-end/Toolbar.js:
3572         (WebInspector.Toolbar.prototype.addPanel):
3573         (WebInspector.Toolbar.prototype._createPanelToolbarItem.onToolbarItemClicked):
3574         (WebInspector.Toolbar.prototype._createPanelToolbarItem.panelSelected):
3575         (WebInspector.Toolbar.prototype._createPanelToolbarItem):
3576         (WebInspector.Toolbar.prototype._panelSelected):
3577         (WebInspector.Toolbar.prototype._setDropdownVisible):
3578         (WebInspector.ToolbarDropdown):
3579         (WebInspector.ToolbarDropdown.prototype.show):
3580         (WebInspector.ToolbarDropdown.prototype._populate):
3581         * inspector/front-end/inspector.css:
3582         (.toolbar-small .toolbar-icon.custom-toolbar-icon):
3583         * inspector/front-end/inspector.js:
3584         (WebInspector._panelDescriptors):
3585         (WebInspector._panelSelected):
3586         (WebInspector._createGlobalStatusBarItems):
3587         (WebInspector.documentClick.followLink):
3588         (WebInspector.documentClick):
3589         (WebInspector.openResource):
3590         (WebInspector.showPanel):
3591         (WebInspector.panel):
3592         (WebInspector.inspect.):
3593         (WebInspector.inspect):
3594         (WebInspector._showAnchorLocation):
3595         (WebInspector.showProfileForURL):
3596         (WebInspector.frontendReused):
3597
3598 2012-08-17  Pascal Massimino  <pascal.massimino@gmail.com>
3599
3600         libwebp-0.2.0: handle alpha channel if present
3601
3602         https://bugs.webkit.org/show_bug.cgi?id=93430
3603
3604         Reviewed by Adam Barth.
3605
3606         updated the Layout test webp-image-decoding.html
3607
3608         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
3609         (outputMode):
3610                 switch to premultiplied-RGB if needed
3611         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
3612         (WebCore::WEBPImageDecoder::decode):
3613                 use WebPGetFeatures() instead of WebPGetInfo(),
3614                 to detect presence of alpha channel
3615         * platform/image-decoders/webp/WEBPImageDecoder.h:
3616         (WEBPImageDecoder):
3617                 add a m_hasAlpha field
3618
3619 2012-08-17  Yoshifumi Inoue  <yosin@chromium.org>
3620
3621         [Forms] Enable multiple fields time input UI for Chromium except Android
3622         https://bugs.webkit.org/show_bug.cgi?id=94195
3623
3624         Reviewed by Kent Tamura.
3625
3626         This patch enables multiple fields time input UI for Chromium except
3627         for Android.
3628
3629         No new tests. Existing tests in fast/forms/time-multiple-fields/
3630         covers appearance and functionality of multiple fields time UI.
3631
3632         A manual checking for browser displays multiple fields time input UI
3633         is needed.
3634
3635         * bindings/generic/RuntimeEnabledFeatures.cpp:
3636         (WebCore): Changed RuntimeEnabledFeatures::isInputTypeTimeEnabled to true
3637         if ENABLE_INPUT_TYPE_TIME is enabled.
3638
3639 2012-08-17  Yoshifumi Inoue  <yosin@chromium.org>
3640
3641         [Forms] Introduce SpinButtonElement.{cpp,h} into build
3642         https://bugs.webkit.org/show_bug.cgi?id=94289
3643
3644         Reviewed by Kent Tamura.
3645
3646         This patch introduces html/shadow/SpinButtonElement.{cpp,h} into
3647         build, files were copied from TextControlInnerElements.{cpp,h} by
3648         bug 93943.
3649
3650         No new tests. This patch doesn't changes behavior.
3651
3652         * CMakeLists.txt: Added SpinButtonElement.cpp
3653         * GNUmakefile.list.am: Added SpinButtonElement.{cpp,h}
3654         * Target.pri: Added SpinButtonElement.cpp
3655         * WebCore.gypi: Added SpinButtonElement.{cpp,h}
3656         * WebCore.vcproj/WebCore.vcproj: Added SpinButtonElement.{cpp,h}
3657         * WebCore.xcodeproj/project.pbxproj: Added SpinButtonElement.{cpp,h}
3658         * accessibility/AccessibilitySpinButton.h: Replaced include file to SpinButtonElement.h from TextControlInnerElements.h
3659         * html/TextFieldInputType.h: Added include file SpinButtonElement.h
3660         * html/shadow/DateTimeEditElement.h: Replaced include file to SpinButtonElement.h from TextControlInnerElements.h
3661         * html/shadow/SpinButtonElement.cpp: Removed code other than SpinButtonElement.
3662         * html/shadow/SpinButtonElement.h: Removed code other than SpinButtonElement.
3663         * html/shadow/TextControlInnerElements.cpp: Removed code of SpinButtonElement.
3664         * html/shadow/TextControlInnerElements.h: Removed SpinButtonElement.
3665         * rendering/RenderTheme.cpp: Added include file SpinButtonElement.h
3666
3667 2012-08-17  Sukolsak Sakshuwong  <sukolsak@google.com>
3668
3669         Implement UndoManager's V8 bindings
3670         https://bugs.webkit.org/show_bug.cgi?id=93912
3671
3672         Reviewed by Ryosuke Niwa.
3673
3674         This patch implements V8 bindings for UndoManager's transact() method.
3675         We keep alive the user objects passed to transact() by storing them in
3676         a hidden property of DOMTransaction's wrapper and registering implicit
3677         references from UndoManager to DOMTransaction.
3678
3679         Tests: editing/undomanager/domtransaction-survives-gc.html
3680                editing/undomanager/undomanager-isolated-world.html
3681                editing/undomanager/undomanager-transact.html
3682                editing/undomanager/undomanager-undo-redo.html
3683                editing/undomanager/undomanager-use-after-free.html
3684
3685         * CMakeLists.txt:
3686         * DerivedSources.cpp:
3687         * DerivedSources.make:
3688         * DerivedSources.pri:
3689         * GNUmakefile.list.am:
3690         * Target.pri:
3691         * UseJSC.cmake:
3692         * UseV8.cmake:
3693         * WebCore.gypi:
3694         * WebCore.vcproj/WebCore.vcproj:
3695         * WebCore.xcodeproj/project.pbxproj:
3696         * bindings/js/DOMTransaction.cpp: Added.
3697         (WebCore):
3698         (WebCore::DOMTransaction::DOMTransaction):
3699         (WebCore::DOMTransaction::create):
3700         (WebCore::DOMTransaction::apply):
3701         (WebCore::DOMTransaction::unapply):
3702         (WebCore::DOMTransaction::reapply):
3703         * bindings/js/DOMTransaction.h: Added.
3704         (WebCore):
3705         (DOMTransaction):
3706         (WebCore::DOMTransaction::undoManager):
3707         (WebCore::DOMTransaction::setUndoManager):
3708         * bindings/js/JSBindingsAllInOne.cpp:
3709         * bindings/js/JSUndoManagerCustom.cpp: Added.
3710         (WebCore):
3711         (WebCore::JSUndoManager::transact):
3712         * bindings/v8/DOMTransaction.cpp: Added.
3713         (WebCore):
3714         (WebCore::DOMTransaction::DOMTransaction):
3715         (WebCore::DOMTransaction::create):
3716         (WebCore::DOMTransaction::apply):
3717         (WebCore::DOMTransaction::unapply):
3718         (WebCore::DOMTransaction::reapply):
3719         (WebCore::DOMTransaction::getFunction):
3720         (WebCore::DOMTransaction::callFunction):
3721         * bindings/v8/DOMTransaction.h: Added.
3722         (WebCore):
3723         (DOMTransaction):
3724         (WebCore::DOMTransaction::undoManager):
3725         (WebCore::DOMTransaction::setUndoManager):
3726         * bindings/v8/V8HiddenPropertyName.h:
3727         (WebCore):
3728         * bindings/v8/custom/V8DOMTransactionCustom.cpp: Added.
3729         (WebCore):
3730         (WebCore::V8DOMTransaction::visitDOMWrapper):
3731         * bindings/v8/custom/V8UndoManagerCustom.cpp: Added.
3732         (WebCore):
3733         (WebCore::V8UndoManager::transactCallback):
3734         * dom/Document.cpp:
3735         (WebCore::Document::~Document):
3736         (WebCore::Document::undoManager):
3737         * dom/Element.cpp:
3738         (WebCore::Element::undoManager):
3739         (WebCore::Element::disconnectUndoManager):
3740         * editing/CompositeEditCommand.h:
3741         * editing/DOMTransaction.idl: Added.
3742         * editing/Editor.cpp:
3743         (WebCore::Editor::appliedEditing):
3744         (WebCore::Editor::unappliedEditing):
3745         (WebCore::Editor::reappliedEditing):
3746         (WebCore::Editor::canUndo):
3747         (WebCore::Editor::undo):
3748         (WebCore::Editor::canRedo):
3749         (WebCore::Editor::redo):
3750         * editing/UndoManager.cpp:
3751         (WebCore::UndoManager::create):
3752         (WebCore::UndoManager::UndoManager):
3753         (WebCore::clearStack):
3754         (WebCore):
3755         (WebCore::UndoManager::disconnect):
3756         (WebCore::UndoManager::stop):
3757         (WebCore::UndoManager::~UndoManager):
3758         (WebCore::createUndoManagerEntry):
3759         (WebCore::UndoManager::transact):
3760         (WebCore::UndoManager::undo):
3761         (WebCore::UndoManager::redo):
3762         (WebCore::UndoManager::registerUndoStep):
3763         (WebCore::UndoManager::registerRedoStep):
3764         (WebCore::UndoManager::clearUndo):
3765         (WebCore::UndoManager::clearRedo):
3766         * editing/UndoManager.h:
3767         (WebCore):
3768         (UndoManager):
3769         (WebCore::UndoManager::position):
3770         (WebCore::UndoManager::canUndo):
3771         (WebCore::UndoManager::canRedo):
3772         (WebCore::UndoManager::undoScopeHost):
3773         (WebCore::UndoManager::ownerNode):
3774         * editing/UndoManager.idl:
3775         * editing/UndoStep.h:
3776         (UndoStep):
3777
3778 2012-08-16  Andrey Kosyakov  <caseq@chromium.org>
3779
3780         Web Inspector: CPU profile view select overlaps with status bar buttons
3781         https://bugs.webkit.org/show_bug.cgi?id=94243
3782
3783         Reviewed by Pavel Feldman.
3784
3785         - use StatusBarComboBox inated of plain select element in the status bar of CPU profile view;
3786         - add StatusBarComboBox.select()
3787
3788         * inspector/front-end/CPUProfileView.js:
3789         (WebInspector.CPUProfileView.prototype.get statusBarItems):
3790         * inspector/front-end/StatusBarButton.js:
3791         (WebInspector.StatusBarComboBox.prototype.selectedOption):
3792         (WebInspector.StatusBarComboBox.prototype.select):
3793         * inspector/front-end/externs.js: drive-by fix: add declaration to suppress compilation error;
3794         (Array.prototype.select):
3795
3796 2012-08-16  Vsevolod Vlasov  <vsevik@chromium.org>
3797
3798         Web Inspector: Snippet script mapping should not load snippets until workspace reset event is dispatched on scripts panel.
3799         https://bugs.webkit.org/show_bug.cgi?id=94218
3800
3801         Reviewed by Pavel Feldman.
3802
3803         Scripts panel does not load uiSourceCodes in workspace reset handler anymore.
3804         Snippet script mapping does not start reloading snippets after reset until WorkspaceReset event is dispatched.
3805
3806         * inspector/front-end/JavaScriptSourceFrame.js: Simplified isComittingEditing to be reset synchronously.
3807         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
3808         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
3809         * inspector/front-end/ScriptSnippetModel.js:
3810         (WebInspector.ScriptSnippetModel.prototype._reset):
3811         * inspector/front-end/ScriptsPanel.js:
3812         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
3813         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
3814         (WebInspector.ScriptsPanel.prototype._reset):
3815         * inspector/front-end/UISourceCodeFrame.js: Simplified isComittingEditing to be reset synchronously.
3816         (WebInspector.UISourceCodeFrame.prototype.commitEditing):
3817         (WebInspector.UISourceCodeFrame.prototype._didEditContent):
3818
3819 2012-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3820
3821         Unreviewed, rolling out r125829.
3822         http://trac.webkit.org/changeset/125829
3823         https://bugs.webkit.org/show_bug.cgi?id=94299
3824
3825         Maybe causing Chromium AutomationTabHelperBrowserTest failures
3826         (Requested by enne on #webkit).
3827
3828         * loader/FrameLoader.cpp:
3829         (WebCore::FrameLoader::init):
3830         (WebCore::FrameLoader::prepareForLoadStart):
3831         (WebCore::FrameLoader::clearProvisionalLoad):
3832         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3833         (WebCore::FrameLoader::detachFromParent):
3834         * loader/FrameLoader.h:
3835         (FrameLoader):
3836
3837 2012-08-16  Nico Weber  <thakis@chromium.org>
3838
3839         [chromium/mac] Remove RenderThemeChromiumMac::paintTextField override
3840         https://bugs.webkit.org/show_bug.cgi?id=94276
3841
3842         Reviewed by Eric Seidel.
3843
3844         The comment says this can go once 10.5 goes away. Besides, the
3845         superclass implementation has the same hack anyway.
3846
3847         No behavior change.
3848
3849         * rendering/RenderThemeChromiumMac.h:
3850         (RenderThemeChromiumMac):
3851         * rendering/RenderThemeChromiumMac.mm:
3852
3853 2012-08-16  David Barr  <davidbarr@chromium.org>
3854
3855         @import url("#foo") causes stack overflow
3856         https://bugs.webkit.org/show_bug.cgi?id=93687
3857
3858         Reviewed by Tony Chang.
3859
3860         Test: http/tests/css/css-imports-url-fragment.html
3861
3862         * css/StyleRuleImport.cpp:
3863         (WebCore::StyleRuleImport::requestStyleSheet): Ignore the fragment identifier in cycle detection.
3864
3865 2012-08-16  Antoine Labour  <piman@chromium.org>
3866
3867         [chromium] Add resource transfer functions to CCResourceProvider
3868         https://bugs.webkit.org/show_bug.cgi?id=93524
3869
3870         Reviewed by James Robinson.
3871
3872         This adds methods to CCResourceProvider to be able to transport
3873         resources from a child to a parent.
3874
3875         Added test to CCResourceProviderTest.
3876
3877         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
3878         (WebCore::CCResourceProvider::inUseByConsumer):
3879         (WebCore::CCResourceProvider::createResource):
3880         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
3881         (WebCore::CCResourceProvider::CCResourceProvider):
3882         (WebCore::CCResourceProvider::createChild):
3883         (WebCore):
3884         (WebCore::CCResourceProvider::destroyChild):
3885         (WebCore::CCResourceProvider::getChildToParentMap):
3886         (WebCore::CCResourceProvider::prepareSendToParent):
3887         (WebCore::CCResourceProvider::prepareSendToChild):
3888         (WebCore::CCResourceProvider::receiveFromChild):
3889         (WebCore::CCResourceProvider::receiveFromParent):
3890         (WebCore::CCResourceProvider::transferResource):
3891         * platform/graphics/chromium/cc/CCResourceProvider.h:
3892         (Mailbox):
3893         (TransferableResource):
3894         (TransferableResourceList):
3895         (CCResourceProvider):
3896         (Resource):
3897         (Child):
3898
3899 2012-08-16  David Grogan  <dgrogan@chromium.org>
3900
3901         IndexedDB: Frontend and plumbing for integer versions
3902         https://bugs.webkit.org/show_bug.cgi?id=92897
3903
3904         Reviewed by Tony Chang.
3905
3906         This patch exposes integer versions and the upgradeneeded event to
3907         script.
3908
3909         The events surrounding an IDBOpenDBRequest follow a new pattern
3910         compared to other idb requests. An open request can receive a blocked
3911         event, an upgradeneeded event, and then a success event. When
3912         dispatching the upgradeneeded and success events the request has its
3913         readyState set to DONE and its result property set to an IDBDatabase.
3914         We usually think of IDBRequests firing one event with one result,
3915         cursors being the big exception. There are some minor changes around
3916         enqueuing and dispatching events to support this.
3917
3918         There's also some funkiness in
3919         IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) so that
3920         the IDBDatabase object delivered in upgradeneeded is reused for the
3921         success event.
3922
3923         Tests - expectations are updated in this patch.
3924
3925         * Modules/indexeddb/IDBDatabase.cpp:
3926         (WebCore::IDBDatabase::setVersion):
3927         (WebCore::IDBDatabase::onVersionChange):
3928         (WebCore):
3929         (WebCore::IDBDatabase::registerFrontendCallbacks):
3930         * Modules/indexeddb/IDBDatabase.h:
3931         (IDBDatabase):
3932         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3933         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
3934         * Modules/indexeddb/IDBDatabaseCallbacks.h:
3935         (IDBDatabaseCallbacks):
3936         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
3937         (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
3938         (WebCore):
3939         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
3940         (IDBDatabaseCallbacksImpl):
3941         * Modules/indexeddb/IDBFactory.cpp:
3942         (WebCore::IDBFactory::open):
3943         (WebCore):
3944         * Modules/indexeddb/IDBFactory.h:
3945         (IDBFactory):
3946         * Modules/indexeddb/IDBFactory.idl:
3947         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
3948         (WebCore::IDBFactoryBackendImpl::open):
3949         * Modules/indexeddb/IDBFactoryBackendImpl.h:
3950         (IDBFactoryBackendImpl):
3951         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3952         (IDBFactoryBackendInterface):
3953         * Modules/indexeddb/IDBOpenDBRequest.cpp: Added.
3954         (WebCore):
3955         (WebCore::IDBOpenDBRequest::create):
3956         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
3957         (WebCore::IDBOpenDBRequest::~IDBOpenDBRequest):
3958         (WebCore::IDBOpenDBRequest::interfaceName):
3959         (WebCore::IDBOpenDBRequest::onBlocked):
3960         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
3961         (WebCore::IDBOpenDBRequest::shouldEnqueueEvent):
3962         * Modules/indexeddb/IDBOpenDBRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h.
3963         (WebCore):
3964         (IDBOpenDBRequest):
3965         * Modules/indexeddb/IDBOpenDBRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h.
3966         * Modules/indexeddb/IDBRequest.cpp:
3967         (WebCore::IDBRequest::IDBRequest):
3968         (WebCore::IDBRequest::shouldEnqueueEvent):
3969         (WebCore::IDBRequest::onSuccess):
3970         This function works with WebIDBCallbacksImpl::onSuccess to reuse its
3971         IDBDatabaseBackendInterface that it got during
3972         IDBOpenDBRequest::onUpgradeNeeded.
3973
3974         (WebCore::IDBRequest::dispatchEvent):
3975         (WebCore::IDBRequest::transactionDidDispatchCompleteOrAbort):
3976         (WebCore):
3977         (WebCore::IDBRequest::enqueueEvent):
3978         * Modules/indexeddb/IDBRequest.h:
3979         (WebCore::IDBRequest::onBlocked):
3980         (IDBRequest):
3981         * Modules/indexeddb/IDBTransaction.cpp:
3982         We now take a pointer to the openDBRequest if this is a version
3983         change transaction as a result of an open-with-version call so that we
3984         can clear the transaction property on the openDBRequest as soon as the
3985         upgradeneeded event is dispatched per the spec ("... set request's
3986         transaction property to null... ", currently 4.8.12).
3987
3988         (WebCore::IDBTransaction::create):
3989         (WebCore):
3990         (WebCore::IDBTransaction::IDBTransaction):
3991         (WebCore::IDBTransaction::setActive):
3992         (WebCore::IDBTransaction::onComplete):
3993         (WebCore::IDBTransaction::dispatchEvent):
3994         * Modules/indexeddb/IDBTransaction.h:
3995         (WebCore):
3996         (IDBTransaction):
3997         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3998         (WebCore::IDBTransactionBackendImpl::commit):
3999         * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp.
4000         (WebCore):
4001         (WebCore::IDBUpgradeNeededEvent::create):
4002         (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent):
4003         (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent):
4004         (WebCore::IDBUpgradeNeededEvent::oldVersion):
4005         (WebCore::IDBUpgradeNeededEvent::newVersion):
4006         (WebCore::IDBUpgradeNeededEvent::interfaceName):
4007         * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebKit/chromium/src/WebIDBDatabaseCallbacksImpl.h.
4008         (WebCore):
4009         (IDBUpgradeNeededEvent):
4010         * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h.
4011         * WebCore.gypi:
4012         * dom/EventNames.h:
4013         (WebCore):
4014         * dom/EventNames.in:
4015         * dom/EventTargetFactory.in:
4016         * inspector/InspectorIndexedDBAgent.cpp:
4017         (WebCore):
4018
4019 2012-08-16  Yoshifumi Inoue  <yosin@chromium.org>
4020
4021         [Forms] Cleanup CSS selectors for multiple fields time input UI
4022         https://bugs.webkit.org/show_bug.cgi?id=94287
4023
4024         Reviewed by Kent Tamura.
4025
4026         This patch cleans CSS selectors for multiple fields time input UI:
4027          - Removed "width" from fields: we use monospace font for field.
4028          - Use "em" instead of "px" for unit.
4029          - Add left margin to spin button.
4030
4031         Changes of this patch affect only both ENABLE_INPUT_TYPE_TIME and
4032         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS are enabled.
4033
4034         Tests: fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
4035                fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
4036                fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
4037                fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
4038                fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html
4039
4040         * css/html.css:
4041         (input::-webkit-datetime-edit-ampm-field):
4042         (input::-webkit-datetime-edit-hour-field):
4043         (input::-webkit-datetime-edit-millisecond-field):
4044         (input::-webkit-datetime-edit-minute-field):
4045         (input::-webkit-datetime-edit-second-field):
4046         (input[type=time]::-webkit-inner-spin-button):
4047
4048 2012-08-16  John Bates  <jbates@google.com>
4049
4050         Fix vsync-disabled Null pointer crash bug
4051         https://bugs.webkit.org/show_bug.cgi?id=94280
4052
4053         Reviewed by Kentaro Hara.
4054
4055         The m_timeSource member is NULL for vsync-disabled path, need to check for that.