Web Inspector: Split out crumb list part of styles from elementsPanel.css
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
2
3         Web Inspector: Split out crumb list part of styles from elementsPanel.css
4         https://bugs.webkit.org/show_bug.cgi?id=94301
5
6         Reviewed by Pavel Feldman.
7
8         As a preparation to use BreadcrumbList on FileSystem, introduce breadcrumbList.css and
9         move crumb-related style entries into it from elementsPanel.css.
10
11         No new tests. This change does not make functional change.
12
13         * WebCore.gypi:
14         * WebCore.vcproj/WebCore.vcproj:
15         * inspector/front-end/ElementsPanel.js:
16         * inspector/front-end/WebKit.qrc:
17         * inspector/front-end/breadcrumbList.css: Added.
18         (.crumbs):
19         (.crumbs .crumb):
20         (.crumbs .crumb.collapsed > *):
21         (.crumbs .crumb.collapsed::before):
22         (.crumbs .crumb.compact .extra):
23         (.crumbs .crumb.dimmed):
24         (.crumbs .crumb.start):
25         (.crumbs .crumb.end):
26         (.crumbs .crumb.selected):
27         (.crumbs .crumb.selected:hover):
28         (.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover):
29         (.crumbs .crumb:hover):
30         (.crumbs .crumb.dimmed:hover):
31         (.crumbs .crumb.end:hover):
32         * inspector/front-end/elementsPanel.css:
33
34 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
35
36         canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html fails
37         https://bugs.webkit.org/show_bug.cgi?id=50797
38
39         Reviewed by Andreas Kling.
40
41         Add a check in fast-path parseAlphaValue() to return early
42         if the CSS <alphavalue> ended with an invalid digit.
43
44         Test: canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html
45
46         * css/CSSParser.cpp:
47         (WebCore::parseAlphaValue):
48
49 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
50
51         Store CString data in the CStringBuffer to avoid the double indirection
52         https://bugs.webkit.org/show_bug.cgi?id=94562
53
54         Reviewed by Darin Adler.
55
56         * bindings/cpp/WebDOMCString.cpp:
57         (WebDOMCString::length): With the patch, CStringBuffer hold the real string length instead of the
58         size of the buffer including the terminating zero. WebDOMCString is updated accordingly.
59
60 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
61
62         Create CSS color output string on 8 bits
63         https://bugs.webkit.org/show_bug.cgi?id=94625
64
65         Reviewed by Andreas Kling.
66
67         * css/CSSPrimitiveValue.cpp:
68         (WebCore::CSSPrimitiveValue::customCssText):
69         Previously, the output string for a CSS color was computed on 16 bits.
70         This was mainly forced by the use of String::number().
71
72         Since the double to string conversion is done on 8bits anyway, I changed
73         the code to use dtoa's numberToFixedPrecisionString directly instead of
74         String::number().
75         All the other parts were already on 8bits.
76
77 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
78
79         [GTK] Using a native window for the WebView breaks GtkOverlay
80         https://bugs.webkit.org/show_bug.cgi?id=90085
81
82         Reviewed by Alejandro G. Castro.
83
84         No new tests. This will be covered by pixel test for accelerated
85         compositing when they are activated.
86
87         * GNUmakefile.am: Add XComposite libraries to the linker list.
88         * GNUmakefile.list.am: Add RedirectedXCompositeWindow files to the source list.
89         Make a new section for GLX specific files.
90         * platform/graphics/glx/GLContextGLX.cpp:
91         (WebCore::GLContextGLX::sharedDisplay): Expose sharedDisplay as a static method
92         so that it can be called by other X11 specific code.
93         * platform/graphics/glx/GLContextGLX.h: Ditto.
94         * platform/gtk/RedirectedXCompositeWindow.cpp: Added. An implementation of a GL surface
95         that renders to an X-window which redirects to a pixmap.
96         * platform/gtk/RedirectedXCompositeWindow.h: Added.
97
98 2012-08-21  David Hyatt  <hyatt@apple.com>
99
100         [New Multicolumn] Make column rules paint properly.
101         https://bugs.webkit.org/show_bug.cgi?id=94616
102
103         Reviewed by Simon Fraser.
104
105         Make the new multi-column code paint column rules and also prepare it for painting
106         the actual column contents.
107
108         * rendering/RenderMultiColumnBlock.cpp:
109         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
110         Remove the addRegionToThread call, since this is now done automatically in RenderRegion::insertedIntoTree.
111         
112         * rendering/RenderMultiColumnBlock.h:
113         (WebCore::RenderMultiColumnBlock::flowThread):
114         Make public so that RenderMultiColumnSet can access it.
115         
116         (RenderMultiColumnBlock):
117         * rendering/RenderMultiColumnSet.cpp:
118         (WebCore::RenderMultiColumnSet::columnGap):
119         Add a column gap fetch method. It's identical to the one on RenderBlock (which will eventually go away
120         when we kill the old multi-column code).
121         
122         (WebCore::RenderMultiColumnSet::columnRectAt):
123         Also identical to the RenderBlock version of this method. Gets the rect for the nth column.
124         
125         (WebCore::RenderMultiColumnSet::paintReplaced):
126         Subclass paintReplaced in order to do column rules and contents painting.
127         
128         (WebCore::RenderMultiColumnSet::paintColumnRules):
129         (WebCore::RenderMultiColumnSet::paintColumnContents):
130         Similar to the methods on RenderBlock. The former paints the rules and the latter paints the contents of
131         the flow thread into the columns.
132         
133         * rendering/RenderMultiColumnSet.h:
134         (RenderMultiColumnSet):
135         Add the declarations of all the new methods.
136         
137         * rendering/RenderRegion.cpp:
138         (WebCore::RenderRegion::installFlowThread):
139         Added a new virtual function for installing flow threads when they didn't exist at construction time.
140         This only applies to actual CSS Regions, so the subclass of the method in RenderRegionSet just does
141         nothing.
142         
143         (WebCore::RenderRegion::attachRegion):
144         Get the named flow thread code out of attachRegion, since it broke multi-column. Moved it into a
145         virtual function, installFlowThread, that is only used by actual CSS regions. Eventually we may
146         want a RenderRegion subclass that represents a region for a named flow thread only, but for now
147         let the code sit in installFlowThread in the base class.
148         
149         * rendering/RenderRegion.h:
150         (RenderRegion):
151         Add installFlowThread declaration.
152         
153         * rendering/RenderRegionSet.cpp:
154         (WebCore::RenderRegionSet::installFlowThread):
155         installFlowThread for region sets just does nothing, since we don't use named flow threads.
156         
157         * rendering/RenderRegionSet.h:
158         (RenderRegionSet):
159         Add the override of installFlowThread.
160
161 2012-08-21  Patrick Gansterer  <paroga@webkit.org>
162
163         [WIN] Build fix for !ENABLE(DRAG_SUPPORT).
164
165         * page/win/EventHandlerWin.cpp:
166         (WebCore):
167         (WebCore::EventHandler::passMouseMoveEventToSubframe):
168
169 2012-08-21  James Robinson  <jamesr@chromium.org>
170
171         Unreviewed, rolling out r126170.
172         http://trac.webkit.org/changeset/126170
173         https://bugs.webkit.org/show_bug.cgi?id=94614
174
175         I spoke too soon
176
177         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
178         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
179         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
180         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
181         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
182         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
183         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
184         (ScrollingCoordinatorPrivate):
185         (WebCore::createScrollbarLayer):
186         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
187         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
188         (WebCore::ScrollingCoordinator::setScrollLayer):
189         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
190         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
191         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
192         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
193         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
194         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
195         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
196         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
197         (WebCore::Canvas2DLayerBridge::prepareForDraw):
198         (WebCore::Canvas2DLayerBridge::layer):
199         (WebCore::Canvas2DLayerBridge::contextAcquired):
200         * platform/graphics/chromium/Canvas2DLayerBridge.h:
201         (Canvas2DLayerBridge):
202         * platform/graphics/chromium/DrawingBufferChromium.cpp:
203         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
204         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
205         (WebCore::DrawingBufferPrivate::layer):
206         (DrawingBufferPrivate):
207         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
208         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
209         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
210         (WebCore::GraphicsLayerChromium::willBeDestroyed):
211         (WebCore):
212         (WebCore::GraphicsLayerChromium::updateNames):
213         (WebCore::GraphicsLayerChromium::removeFromParent):
214         (WebCore::GraphicsLayerChromium::setSize):
215         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
216         (WebCore::GraphicsLayerChromium::setContentsOpaque):
217         (WebCore::GraphicsLayerChromium::setFilters):
218         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
219         (WebCore::GraphicsLayerChromium::setMaskLayer):
220         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
221         (WebCore::GraphicsLayerChromium::setOpacity):
222         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
223         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
224         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
225         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
226         (WebCore::GraphicsLayerChromium::setContentsToImage):
227         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
228         (WebCore::GraphicsLayerChromium::addAnimation):
229         (WebCore::GraphicsLayerChromium::pauseAnimation):
230         (WebCore::GraphicsLayerChromium::removeAnimation):
231         (WebCore::GraphicsLayerChromium::suspendAnimations):
232         (WebCore::GraphicsLayerChromium::resumeAnimations):
233         (WebCore::GraphicsLayerChromium::addLinkHighlight):
234         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
235         (WebCore::GraphicsLayerChromium::setContentsToMedia):
236         (WebCore::GraphicsLayerChromium::primaryLayer):
237         (WebCore::GraphicsLayerChromium::platformLayer):
238         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
239         (WebCore::GraphicsLayerChromium::setDebugBorder):
240         (WebCore::GraphicsLayerChromium::updateChildList):
241         (WebCore::GraphicsLayerChromium::updateLayerPosition):
242         (WebCore::GraphicsLayerChromium::updateLayerSize):
243         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
244         (WebCore::GraphicsLayerChromium::updateTransform):
245         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
246         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
247         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
248         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
249         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
250         (WebCore::GraphicsLayerChromium::updateContentsRect):
251         (WebCore::GraphicsLayerChromium::updateContentsScale):
252         (WebCore::GraphicsLayerChromium::setupContentsLayer):
253         * platform/graphics/chromium/GraphicsLayerChromium.h:
254         (WebCore::GraphicsLayerChromium::hasContentsLayer):
255         (GraphicsLayerChromium):
256         (WebCore::GraphicsLayerChromium::contentsLayer):
257         * platform/graphics/chromium/LayerChromium.cpp:
258         (WebCore::LayerChromium::rootLayer):
259         * platform/graphics/chromium/LayerChromium.h:
260
261 2012-08-21  Adam Barth  <abarth@webkit.org>
262
263         Update run-bindings-tests results after http://trac.webkit.org/changeset/126165
264
265         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
266         (WebCore::jsTestActiveDOMObjectExcitingAttr):
267         (WebCore::jsTestActiveDOMObjectConstructor):
268         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
269
270 2012-08-21  Vincent Scheib  <scheib@chromium.org>
271
272         Add parsing logic for allow-pointer-lock to iframe sandbox attribute.
273         https://bugs.webkit.org/show_bug.cgi?id=94513
274
275         Reviewed by Adam Barth.
276
277         Pointer lock was previously blocked from all sandboxed iframes.
278         Parsing the sandbox="allow-pointer-lock" attribute allows pages
279         to control the feature and enable it in sandboxed iframes.
280
281         Tests: http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html
282                http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html
283                http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html
284
285         * dom/SecurityContext.cpp:
286         (WebCore::SecurityContext::parseSandboxPolicy):
287
288 2012-08-21  James Robinson  <jamesr@chromium.org>
289
290         Unreviewed, rolling out r126169.
291         http://trac.webkit.org/changeset/126169
292         https://bugs.webkit.org/show_bug.cgi?id=94614
293
294         Crashes already fixed downstream
295
296         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
297         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
298         (ScrollingCoordinatorPrivate):
299         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
300         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
301         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
302         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
303         (WebCore::scrollableLayerForGraphicsLayer):
304         (WebCore):
305         (WebCore::createScrollbarLayer):
306         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
307         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
308         (WebCore::ScrollingCoordinator::setScrollLayer):
309         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
310         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
311         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
312         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
313         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
314         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
315         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
316         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
317         (WebCore::Canvas2DLayerBridge::prepareForDraw):
318         (WebCore::Canvas2DLayerBridge::layer):
319         (WebCore::Canvas2DLayerBridge::contextAcquired):
320         * platform/graphics/chromium/Canvas2DLayerBridge.h:
321         (Canvas2DLayerBridge):
322         * platform/graphics/chromium/DrawingBufferChromium.cpp:
323         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
324         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
325         (WebCore::DrawingBufferPrivate::layer):
326         (DrawingBufferPrivate):
327         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
328         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
329         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
330         (WebCore::GraphicsLayerChromium::updateNames):
331         (WebCore::GraphicsLayerChromium::removeFromParent):
332         (WebCore::GraphicsLayerChromium::setSize):
333         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
334         (WebCore::GraphicsLayerChromium::setContentsOpaque):
335         (WebCore::GraphicsLayerChromium::setFilters):
336         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
337         (WebCore::GraphicsLayerChromium::setMaskLayer):
338         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
339         (WebCore::GraphicsLayerChromium::setOpacity):
340         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
341         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
342         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
343         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
344         (WebCore::GraphicsLayerChromium::setContentsToImage):
345         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
346         (WebCore):
347         (WebCore::GraphicsLayerChromium::setContentsToMedia):
348         (WebCore::GraphicsLayerChromium::setContentsTo):
349         (WebCore::GraphicsLayerChromium::addAnimation):
350         (WebCore::GraphicsLayerChromium::pauseAnimation):
351         (WebCore::GraphicsLayerChromium::removeAnimation):
352         (WebCore::GraphicsLayerChromium::suspendAnimations):
353         (WebCore::GraphicsLayerChromium::resumeAnimations):
354         (WebCore::GraphicsLayerChromium::addLinkHighlight):
355         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
356         (WebCore::GraphicsLayerChromium::platformLayer):
357         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
358         (WebCore::GraphicsLayerChromium::setDebugBorder):
359         (WebCore::GraphicsLayerChromium::updateChildList):
360         (WebCore::GraphicsLayerChromium::updateLayerPosition):
361         (WebCore::GraphicsLayerChromium::updateLayerSize):
362         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
363         (WebCore::GraphicsLayerChromium::updateTransform):
364         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
365         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
366         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
367         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
368         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
369         (WebCore::GraphicsLayerChromium::updateContentsRect):
370         (WebCore::GraphicsLayerChromium::updateContentsScale):
371         (WebCore::GraphicsLayerChromium::setupContentsLayer):
372         * platform/graphics/chromium/GraphicsLayerChromium.h:
373         (WebCore::GraphicsLayerChromium::hasContentsLayer):
374         (WebCore::GraphicsLayerChromium::contentLayer):
375         (GraphicsLayerChromium):
376         (WebCore::GraphicsLayerChromium::contentsLayer):
377         * platform/graphics/chromium/LayerChromium.cpp:
378         (WebCore::LayerChromium::rootLayer):
379         * platform/graphics/chromium/LayerChromium.h:
380
381 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
382
383         Unreviewed, rolling out r126076, r126099, and r126106.
384         http://trac.webkit.org/changeset/126076
385         http://trac.webkit.org/changeset/126099
386         http://trac.webkit.org/changeset/126106
387         https://bugs.webkit.org/show_bug.cgi?id=94614
388
389         Caused crashes during compositor shutdown in Aura builds of
390         Chromium (Requested by kbr_google on #webkit).
391
392         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
393         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
394         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
395         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
396         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
397         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
398         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
399         (ScrollingCoordinatorPrivate):
400         (WebCore::createScrollbarLayer):
401         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
402         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
403         (WebCore::ScrollingCoordinator::setScrollLayer):
404         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
405         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
406         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
407         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
408         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
409         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
410         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
411         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
412         (WebCore::Canvas2DLayerBridge::prepareForDraw):
413         (WebCore::Canvas2DLayerBridge::layer):
414         (WebCore::Canvas2DLayerBridge::contextAcquired):
415         * platform/graphics/chromium/Canvas2DLayerBridge.h:
416         (Canvas2DLayerBridge):
417         * platform/graphics/chromium/DrawingBufferChromium.cpp:
418         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
419         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
420         (WebCore::DrawingBufferPrivate::layer):
421         (DrawingBufferPrivate):
422         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
423         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
424         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
425         (WebCore::GraphicsLayerChromium::willBeDestroyed):
426         (WebCore):
427         (WebCore::GraphicsLayerChromium::updateNames):
428         (WebCore::GraphicsLayerChromium::removeFromParent):
429         (WebCore::GraphicsLayerChromium::setSize):
430         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
431         (WebCore::GraphicsLayerChromium::setContentsOpaque):
432         (WebCore::GraphicsLayerChromium::setFilters):
433         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
434         (WebCore::GraphicsLayerChromium::setMaskLayer):
435         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
436         (WebCore::GraphicsLayerChromium::setOpacity):
437         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
438         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
439         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
440         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
441         (WebCore::GraphicsLayerChromium::setContentsToImage):
442         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
443         (WebCore::GraphicsLayerChromium::addAnimation):
444         (WebCore::GraphicsLayerChromium::pauseAnimation):
445         (WebCore::GraphicsLayerChromium::removeAnimation):
446         (WebCore::GraphicsLayerChromium::suspendAnimations):
447         (WebCore::GraphicsLayerChromium::resumeAnimations):
448         (WebCore::GraphicsLayerChromium::addLinkHighlight):
449         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
450         (WebCore::GraphicsLayerChromium::setContentsToMedia):
451         (WebCore::GraphicsLayerChromium::primaryLayer):
452         (WebCore::GraphicsLayerChromium::platformLayer):
453         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
454         (WebCore::GraphicsLayerChromium::setDebugBorder):
455         (WebCore::GraphicsLayerChromium::updateChildList):
456         (WebCore::GraphicsLayerChromium::updateLayerPosition):
457         (WebCore::GraphicsLayerChromium::updateLayerSize):
458         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
459         (WebCore::GraphicsLayerChromium::updateTransform):
460         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
461         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
462         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
463         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
464         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
465         (WebCore::GraphicsLayerChromium::updateContentsRect):
466         (WebCore::GraphicsLayerChromium::updateContentsScale):
467         (WebCore::GraphicsLayerChromium::setupContentsLayer):
468         * platform/graphics/chromium/GraphicsLayerChromium.h:
469         (WebCore::GraphicsLayerChromium::hasContentsLayer):
470         (GraphicsLayerChromium):
471         (WebCore::GraphicsLayerChromium::contentsLayer):
472         * platform/graphics/chromium/LayerChromium.cpp:
473         (WebCore::LayerChromium::rootLayer):
474         * platform/graphics/chromium/LayerChromium.h:
475
476 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
477
478         Web Inspector: do not use window's eval in InjectedScript
479         https://bugs.webkit.org/show_bug.cgi?id=94610
480
481         Reviewed by Yury Semikhatsky.
482
483         Otherwise, inspector does not work when eval is overriden.
484
485         Test: inspector/console/console-eval-fake.html
486
487         * bindings/js/JSInjectedScriptHostCustom.cpp:
488         (WebCore::JSInjectedScriptHost::evaluate):
489         (WebCore):
490         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
491         (WebCore::V8InjectedScriptHost::evaluateCallback):
492         (WebCore):
493         * inspector/InjectedScriptHost.idl:
494         * inspector/InjectedScriptSource.js:
495         (.):
496
497 2012-08-21  Adam Barth  <abarth@webkit.org>
498
499         Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
500         https://bugs.webkit.org/show_bug.cgi?id=93407
501
502         Reviewed by Eric Seidel.
503
504         This patch removes allowsAccessFrom and implements the security checks
505         in terms of shouldAllowAccessToDOMWindow directly.
506
507         * bindings/generic/BindingSecurity.cpp:
508         (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
509         (WebCore):
510         * bindings/generic/BindingSecurity.h:
511         (BindingSecurity):
512         * bindings/js/JSDOMBinding.cpp:
513         (WebCore::shouldAllowAccessToFrame):
514         (WebCore):
515         (WebCore::shouldAllowAccessToDOMWindow):
516         * bindings/js/JSDOMBinding.h:
517         (WebCore):
518         * bindings/js/JSDOMWindowBase.cpp:
519         (WebCore::shouldAllowAccessFrom):
520         (WebCore):
521         * bindings/js/JSDOMWindowBase.h:
522         (JSDOMWindowBase):
523         * bindings/js/JSDOMWindowCustom.cpp:
524         (WebCore::namedItemGetter):
525         (WebCore::JSDOMWindow::getOwnPropertySlot):
526         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
527         (WebCore::JSDOMWindow::put):
528         (WebCore::JSDOMWindow::deleteProperty):
529         (WebCore::JSDOMWindow::getPropertyNames):
530         (WebCore::JSDOMWindow::getOwnPropertyNames):
531         (WebCore::JSDOMWindow::defineOwnProperty):
532         (WebCore::JSDOMWindow::setLocation):
533         * bindings/js/JSDOMWindowCustom.h:
534         * bindings/js/JSInjectedScriptManager.cpp:
535         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
536         * bindings/objc/WebScriptObject.mm:
537         (-[WebScriptObject _isSafeScript]):
538         * bindings/scripts/CodeGeneratorJS.pm:
539         (GenerateGetOwnPropertyDescriptorBody):
540         (GenerateImplementation):
541
542 2012-08-21  Dan Bernstein  <mitz@apple.com>
543
544         <rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
545         https://bugs.webkit.org/show_bug.cgi?id=94429
546
547         Reviewed by Sam Weinig.
548
549         No new tests, because behavior is unchanged.
550
551         * editing/TextIterator.cpp:
552         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Enhanced the check for nodes that
553         cannot contain VisiblePosition to also check for zero-height blocks.
554
555 2012-08-21  'Pavel Feldman'  <pfeldman@chromium.org>
556
557         Web Inspector: break on exceptions decoration was lost, restoring.
558
559         Not reviewed - a follow up to 126012.
560
561         * inspector/front-end/ScriptsPanel.js:
562         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged.get switch):
563         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged):
564
565 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
566
567         Unreviewed, rolling out r126146.
568         http://trac.webkit.org/changeset/126146
569         https://bugs.webkit.org/show_bug.cgi?id=94606
570
571         It made all tests assert (Requested by Ossy on #webkit).
572
573         * bridge/qt/qt_runtime.cpp:
574         (JSC::Bindings::prototypeForSignalsAndSlots):
575         (JSC::Bindings::QtRuntimeMethod::call):
576         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
577         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
578         * bridge/qt/qt_runtime.h:
579         (QtRuntimeMethod):
580
581 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
582
583         Unreviewed, rolling out r126150.
584         http://trac.webkit.org/changeset/126150
585         https://bugs.webkit.org/show_bug.cgi?id=94605
586
587         Breaks 73 layout tests on chromium.webkit builder (Requested
588         by pfeldman on #webkit).
589
590         * UseV8.cmake:
591         * WebCore.gypi:
592         * bindings/v8/V8Binding.cpp:
593         (StringTraits):
594         (WebCore):
595         (WebCore::v8StringToWebCoreString):
596         (WebCore::int32ToWebCoreStringFast):
597         (WebCore::int32ToWebCoreString):
598         * bindings/v8/V8Binding.h:
599         (WebCore):
600         (V8ParameterBase):
601         (WebCore::V8ParameterBase::operator String):
602         (WebCore::V8ParameterBase::operator AtomicString):
603         (WebCore::V8ParameterBase::V8ParameterBase):
604         (WebCore::V8ParameterBase::prepareBase):
605         (WebCore::V8ParameterBase::object):
606         (WebCore::V8ParameterBase::setString):
607         (WebCore::V8ParameterBase::toString):
608         (WebCore::::prepare):
609         * bindings/v8/V8StringResource.cpp: Removed.
610         * bindings/v8/V8StringResource.h: Removed.
611
612 2012-08-21  Philippe Normand  <pnormand@igalia.com>
613
614         Early returns in MediaPlayer setters
615         https://bugs.webkit.org/show_bug.cgi?id=87304
616
617         Calls to the MediaPlayerPrivate implementation can be avoided if
618         the value to set and the current value are equal.
619
620         Reviewed by Eric Carlson.
621
622         * platform/graphics/MediaPlayer.cpp:
623         (WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
624         MediaPlayerPrivate has been created propagate the playback rate
625         value to it, as it is done for some other attributes like preload
626         or preservePitch.
627         (WebCore::MediaPlayer::setVolume): Perform action only if current
628         and new values differ.
629         (WebCore::MediaPlayer::setMuted): Ditto.
630         (WebCore::MediaPlayer::setPreservesPitch): Ditto.
631         (WebCore::MediaPlayer::setSize): Ditto.
632         (WebCore::MediaPlayer::setVisible): Ditto.
633         (WebCore::MediaPlayer::setPreload): Ditto.
634
635 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
636
637         Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
638         https://bugs.webkit.org/show_bug.cgi?id=94599
639
640         Reviewed by Yury Semikhatsky.
641
642         * dom/MemoryInstrumentation.h:
643         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
644         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
645         (WebCore::MemoryInstrumentation::addObjectImpl):
646
647 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
648
649         Web Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember.
650         https://bugs.webkit.org/show_bug.cgi?id=94580
651
652         Reviewed by Yury Semikhatsky.
653
654         Drive by fix: immutable ElementAttrybuteData uses the same trick with placement new as in StylePropertySet.
655
656         * css/CSSCanvasValue.cpp:
657         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
658         * css/CSSCharsetRule.cpp:
659         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
660         * css/CSSFontFaceSrcValue.cpp:
661         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
662         * css/CSSFunctionValue.cpp:
663         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
664         * css/CSSImageSetValue.cpp:
665         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
666         * css/CSSImageValue.cpp:
667         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
668         * css/CSSPrimitiveValue.cpp:
669         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
670         * css/CSSStyleSheet.cpp:
671         (WebCore::CSSStyleSheet::reportMemoryUsage):
672         * css/CSSValue.cpp:
673         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
674         * css/CSSVariableValue.h:
675         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
676         * css/FontFeatureValue.cpp:
677         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
678         * css/MediaQuery.cpp:
679         (WebCore::MediaQuery::reportMemoryUsage):
680         * css/MediaQueryExp.cpp:
681         (WebCore::MediaQueryExp::reportMemoryUsage):
682         * css/StyleRuleImport.cpp:
683         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
684         * css/StyleSheetContents.cpp:
685         (WebCore::StyleSheetContents::reportMemoryUsage):
686         * css/WebKitCSSKeyframeRule.cpp:
687         (WebCore::StyleKeyframe::reportMemoryUsage):
688         * css/WebKitCSSKeyframesRule.cpp:
689         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
690         * css/WebKitCSSSVGDocumentValue.cpp:
691         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
692         * css/WebKitCSSShaderValue.cpp:
693         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
694         * dom/Attribute.h:
695         (WebCore::Attribute::reportMemoryUsage):
696         * dom/CharacterData.cpp:
697         (WebCore::CharacterData::reportMemoryUsage):
698         * dom/Document.cpp:
699         (WebCore::Document::reportMemoryUsage):
700         * dom/ElementAttributeData.cpp:
701         (WebCore::immutableElementAttributeDataSize):
702         (WebCore):
703         (WebCore::ElementAttributeData::createImmutable):
704         (WebCore::ElementAttributeData::reportMemoryUsage):
705         * dom/Event.cpp:
706         (WebCore::Event::reportMemoryUsage):
707         * dom/MemoryInstrumentation.cpp:
708         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
709         * dom/MemoryInstrumentation.h:
710         (MemoryInstrumentation):
711         * dom/QualifiedName.h:
712         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
713         * loader/DocumentLoader.cpp:
714         (WebCore::DocumentLoader::reportMemoryUsage):
715         * loader/FrameLoader.cpp:
716         (WebCore::FrameLoader::reportMemoryUsage):
717         * loader/SubstituteData.cpp:
718         (WebCore::SubstituteData::reportMemoryUsage):
719         * loader/cache/CachedCSSStyleSheet.cpp:
720         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
721         * loader/cache/CachedResource.cpp:
722         (WebCore::CachedResource::reportMemoryUsage):
723         * loader/cache/CachedResourceLoader.cpp:
724         (WebCore::CachedResourceLoader::reportMemoryUsage):
725         * loader/cache/CachedScript.cpp:
726         (WebCore::CachedScript::reportMemoryUsage):
727         * loader/cache/CachedShader.cpp:
728         (WebCore::CachedShader::reportMemoryUsage):
729         * loader/cache/CachedXSLStyleSheet.cpp:
730         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
731         * loader/cache/MemoryCache.cpp:
732         (WebCore::MemoryCache::reportMemoryUsage):
733         * platform/network/ResourceRequestBase.cpp:
734         (WebCore::ResourceRequestBase::reportMemoryUsage):
735         * platform/network/ResourceResponseBase.cpp:
736         (WebCore::ResourceResponseBase::reportMemoryUsage):
737         * rendering/style/StyleRareInheritedData.cpp:
738         (WebCore::StyleRareInheritedData::reportMemoryUsage):
739         * rendering/style/StyleRareNonInheritedData.cpp:
740         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
741         * svg/SVGPaint.cpp:
742         (WebCore::SVGPaint::reportDescendantMemoryUsage):
743
744 2012-08-20  Kentaro Hara  <haraken@chromium.org>
745
746         [V8] Move String related code in V8Binding to a separate file
747         https://bugs.webkit.org/show_bug.cgi?id=94571
748
749         Reviewed by Adam Barth.
750
751         This patch moves V8Parameter, V8ParameterBase and String related code
752         in V8Binding to a separate file.
753
754         No tests. No change in behavior.
755
756         * UseV8.cmake:
757         * WebCore.gypi:
758         * bindings/v8/V8Binding.cpp:
759         * bindings/v8/V8Binding.h:
760         * bindings/v8/V8StringResource.cpp: Added.
761         * bindings/v8/V8StringResource.h: Added.
762         (WebCore):
763
764 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
765
766         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
767         https://bugs.webkit.org/show_bug.cgi?id=93897
768
769         Reviewed by Kenneth Rohde Christiansen.
770
771         Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
772         JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
773         to be just callable objects, but they did not have Function.prototype as prototype anymore for example
774         nor was their name correct (resulting in a layout test failure).
775
776         This patch changes run-time methods back to being real function objects that have a correct name and
777         have Function.prototype in their prototype change
778
779         The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
780         that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
781         Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
782         This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
783         the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.
784
785         At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
786         The length property on a function signifies the number of arguments, but in all three cases that number is
787         actually variable, because of overloading. That is why we choose not to expose it in the first place.
788
789         * bridge/qt/qt_runtime.cpp:
790         (JSC::Bindings::prototypeForSignalsAndSlots):
791         (JSC::Bindings::QtRuntimeMethod::call):
792         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
793         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
794         (Bindings):
795         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
796         * bridge/qt/qt_runtime.h:
797         (QtRuntimeMethod): Remove unused member variables.
798
799 2012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
800
801         Unreviewed build fix for newer Qt 5 versions: QVariant::WidgetStar has been removed,
802         but fortunately QMetaType has a much more powerful function available for us to use.
803
804         Thanks to Jedrzej Nowacki for the hint :)
805
806         * bridge/qt/qt_runtime.cpp:
807         (JSC::Bindings::convertQVariantToValue):
808
809 2012-08-21  Kentaro Hara  <haraken@chromium.org>
810
811         [V8] Remove String::New() from V8 binding (Part 1)
812         https://bugs.webkit.org/show_bug.cgi?id=94574
813
814         Reviewed by Adam Barth.
815
816         Currently, V8 binding mixes String::New(), String::NewSymbol() and v8String().
817         String::New() should be replaced with String::NewSymbol() or v8String(),
818         depending on use cases:
819
820         - If it is a symbol (e.g. attribute name, constant string, etc),
821         String::NewSymbol() should be used. Cache of created symbols is managed by V8.
822
823         - If it is not a symbol, v8String() should be used. Cache of created strings
824         is managed by V8 binding (i.e. StringCache class).
825
826         This patch replaces String::New() for symbols with String::NewSymbol().
827
828         No tests. No change in behavior.
829
830         * bindings/scripts/CodeGeneratorV8.pm:
831         (GenerateNamedConstructorCallback):
832         (GenerateNonStandardFunction):
833         (GenerateImplementation):
834         * bindings/scripts/test/V8/V8Float64Array.cpp:
835         (WebCore::ConfigureV8Float64ArrayTemplate):
836         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
837         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
838         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
839         (WebCore::ConfigureV8TestEventTargetTemplate):
840         * bindings/scripts/test/V8/V8TestInterface.cpp:
841         (WebCore::ConfigureV8TestInterfaceTemplate):
842         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
843         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
844         * bindings/scripts/test/V8/V8TestObj.cpp:
845         (WebCore::ConfigureV8TestObjTemplate):
846         (WebCore::V8TestObj::installPerContextProperties):
847         * bindings/v8/V8DOMConfiguration.cpp:
848         (WebCore::V8DOMConfiguration::batchConfigureConstants):
849         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
850         (WebCore::V8DOMConfiguration::configureTemplate):
851         * bindings/v8/V8DOMConfiguration.h:
852         (WebCore::V8DOMConfiguration::configureAttribute):
853
854 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
855
856         Unreviewed, rolling out r126028.
857         http://trac.webkit.org/changeset/126028
858         https://bugs.webkit.org/show_bug.cgi?id=94576
859
860         it broke compilation on apple webkit win. (Requested by loislo
861         on #webkit).
862
863         * inspector/CodeGeneratorInspector.py:
864         * inspector/InjectedScriptWebGLModule.cpp:
865         (WebCore::InjectedScriptWebGLModule::captureFrame):
866         * inspector/InjectedScriptWebGLModule.h:
867         (InjectedScriptWebGLModule):
868         * inspector/Inspector.json:
869         * inspector/InspectorController.cpp:
870         (WebCore::InspectorController::InspectorController):
871         * inspector/InspectorWebGLAgent.cpp:
872         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
873         * inspector/InspectorWebGLAgent.h:
874         (WebCore):
875         (WebCore::InspectorWebGLAgent::create):
876         (InspectorWebGLAgent):
877
878 2012-08-20  Ilya Tikhonovsky  <loislo@chromium.org>
879
880         Web Inspector: NMI: wrong size was reported for immutable StylePropertySet
881         https://bugs.webkit.org/show_bug.cgi?id=94489
882
883         Reviewed by Yury Semikhatsky.
884
885         Immutable StylePropertySet is created via placement new.
886         The rest of the allocated buffer is used as an array of CSSProperty.
887         This means that we don't need to report m_properties member but have to report actual size of the buffer
888         used for both, the object and CSSProperty array.
889
890         * css/StylePropertySet.cpp:
891         (WebCore::immutableStylePropertySetSize):
892         (WebCore):
893         (WebCore::StylePropertySet::createImmutable):
894         (WebCore::StylePropertySet::reportMemoryUsage):
895         * dom/MemoryInstrumentation.h:
896         (WebCore::MemoryObjectInfo::reportObjectInfo):
897         (WebCore::MemoryClassInfo::MemoryClassInfo):
898
899 2012-08-20  Kentaro Hara  <haraken@chromium.org>
900
901         [V8] Move handleOutOfMemory() from V8Proxy to V8Binding
902         https://bugs.webkit.org/show_bug.cgi?id=94563
903
904         Reviewed by Adam Barth.
905
906         To kill V8Proxy, this patch moves handleOutOfMemory() from V8Proxy to V8Binding.
907
908         No tests. No change in behavior.
909
910         * bindings/v8/V8AbstractEventListener.cpp:
911         (WebCore::V8AbstractEventListener::invokeEventHandler):
912         * bindings/v8/V8Binding.cpp:
913         (WebCore::handleOutOfMemory):
914         (WebCore):
915         * bindings/v8/V8Binding.h:
916         (WebCore):
917         * bindings/v8/V8Proxy.cpp:
918         * bindings/v8/V8Proxy.h:
919         (V8Proxy):
920         * bindings/v8/WorkerContextExecutionProxy.cpp:
921         (WebCore::WorkerContextExecutionProxy::runScript):
922
923 2012-08-20  MORITA Hajime  <morrita@google.com>
924
925         InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
926         https://bugs.webkit.org/show_bug.cgi?id=94570
927
928         Reviewed by Ryosuke Niwa.
929
930         Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
931         we could unify them to the safer one, which is didNotifySubtreeInsertions().
932
933         This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
934         then eliminates related code which is no longer used.
935
936         No new tests. Covered by existing tests.
937
938         * dom/ContainerNodeAlgorithms.h:
939         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
940         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
941         * dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
942         * html/HTMLBodyElement.cpp:
943         (WebCore::HTMLBodyElement::insertedInto):
944         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
945         * html/HTMLBodyElement.h:
946         (HTMLBodyElement):
947         * html/HTMLFormElement.cpp:
948         (WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.
949
950 2012-08-20  Rob Buis  <rbuis@rim.com>
951
952         Reduce GradientAttributes object size
953         https://bugs.webkit.org/show_bug.cgi?id=86151
954
955         Reviewed by Eric Seidel.
956
957         This reduces GradientAttributes in memory size by 8 bytes on my 64-bit system. It also
958         reduces the size of RenderSVGResourceLinearGradient and RenderSVGResourceRadialGradient.
959
960         * svg/GradientAttributes.h:
961         (WebCore::GradientAttributes::spreadMethod):
962         (WebCore::GradientAttributes::gradientUnits):
963         (GradientAttributes):
964         (WebCore):
965         (SameSizeAsGradientAttributes):
966
967 2012-08-20  Keishi Hattori  <keishi@webkit.org>
968
969         Clicking input type=range with padding or border sets wrong value
970         https://bugs.webkit.org/show_bug.cgi?id=94473
971
972         Reviewed by Kent Tamura.
973
974         We should take the padding and border width into account when calculating the value from the mouse location.
975
976         Test: fast/forms/range/range-hit-test-with-padding.html
977
978         * html/shadow/SliderThumbElement.cpp:
979         (WebCore::sliderTrackElementOf):
980         (WebCore):
981         (WebCore::SliderThumbElement::setPositionFromPoint):
982         * html/shadow/SliderThumbElement.h:
983         (WebCore):
984
985 2012-08-20  MORITA Hajime  <morrita@google.com>
986
987         load event shouldn't fired during node insertion traversals.
988         https://bugs.webkit.org/show_bug.cgi?id=94447
989
990         Reviewed by Ryosuke Niwa.
991
992         HTMLFrameElementBase::didNotifyDescendantInsertions() with empty @src
993         can trigger a load event during ChildNodeInsertionNotifier
994         traversal, whose handler can make DOM tree state inconsistent.
995
996         This change introduces a post traversal hook,
997         didNotifySubtreeInsertions(), for the insertion traversal and
998         replaces the problematic didNotifyDescendantInsertions() with it.
999
1000         Since didNotifySubtreeInsertions() is invoked after the traversal,
1001         it is safe for event handlers to mutate the tree.
1002
1003         Test: fast/frames/iframe-onload-and-domnodeinserted.html
1004
1005         * dom/ContainerNodeAlgorithms.h:
1006         (ChildNodeInsertionNotifier): Added a post subtree notification.
1007         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1008         (WebCore::ChildNodeInsertionNotifier::notify):
1009         * dom/Node.h:
1010         (WebCore::Node::didNotifySubtreeInsertions): Newly added.
1011         * html/HTMLFrameElementBase.cpp:
1012         (WebCore::HTMLFrameElementBase::insertedInto): Now returns InsertionShouldCallDidNotifySubtreeInsertions
1013         (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Replaced didNotifyDescendantInsertions()
1014         * html/HTMLFrameElementBase.h:
1015         (HTMLFrameElementBase):
1016
1017 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org> 
1018
1019         Regression(r126127): Build break on multiple platforms
1020         https://bugs.webkit.org/show_bug.cgi?id=94568
1021
1022         Reviewed by Hajime Morita.
1023
1024         Notation::cloneNode should also have ExceptionCode. We add it in this patch.
1025
1026         No new tests, no change in behavior.
1027
1028         * dom/Notation.cpp:
1029         (WebCore::Notation::cloneNode):
1030         * dom/Notation.h:
1031         (Notation):
1032
1033 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org>
1034
1035         ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
1036         https://bugs.webkit.org/show_bug.cgi?id=91704
1037
1038         Reviewed by Dimitri Glazkov.
1039
1040         According to the spec, ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception. The existing implementation
1041         returned null object instead.
1042
1043         We change the cloneNode() interface so that we can throw an exception from cloneNode().
1044
1045         Test: fast/dom/shadow/shadowroot-clonenode.html
1046
1047         * dom/Attr.cpp:
1048         (WebCore::Attr::cloneNode):
1049         * dom/Attr.h:
1050         * dom/CDATASection.cpp:
1051         (WebCore::CDATASection::cloneNode):
1052         * dom/CDATASection.h:
1053         (CDATASection):
1054         * dom/Comment.cpp:
1055         (WebCore::Comment::cloneNode):
1056         * dom/Comment.h:
1057         (Comment):
1058         * dom/Document.cpp:
1059         (WebCore::Document::cloneNode):
1060         * dom/Document.h:
1061         (Document):
1062         * dom/DocumentFragment.cpp:
1063         (WebCore::DocumentFragment::cloneNode):
1064         * dom/DocumentFragment.h:
1065         (DocumentFragment):
1066         * dom/DocumentType.cpp:
1067         (WebCore::DocumentType::cloneNode):
1068         * dom/DocumentType.h:
1069         (DocumentType):
1070         * dom/Element.cpp:
1071         (WebCore::Element::cloneNode):
1072         * dom/Element.h:
1073         (Element):
1074         * dom/EntityReference.cpp:
1075         (WebCore::EntityReference::cloneNode):
1076         * dom/EntityReference.h:
1077         (EntityReference):
1078         * dom/Node.h:
1079         (Node):
1080         (WebCore::Node::cloneNode):
1081         * dom/Node.idl:
1082         * dom/ProcessingInstruction.cpp:
1083         (WebCore::ProcessingInstruction::cloneNode):
1084         * dom/ProcessingInstruction.h:
1085         (ProcessingInstruction):
1086         * dom/ShadowRoot.cpp:
1087         (WebCore::ShadowRoot::cloneNode):
1088         * dom/ShadowRoot.h:
1089         (ShadowRoot):
1090         * dom/Text.cpp:
1091         (WebCore::Text::cloneNode):
1092         * dom/Text.h:
1093         (Text):
1094
1095 2012-08-20  Kent Tamura  <tkent@chromium.org>
1096
1097         [Chromium-win] Use native digits in parsing/formatting dates in the textfield part of input[type=date]
1098         https://bugs.webkit.org/show_bug.cgi?id=94281
1099
1100         Reviewed by Hajime Morita.
1101
1102         Tests: Add some cases to Source/WebKit/chromium/tests/LocaleWinTest.cpp
1103
1104         * platform/text/LocaleWin.cpp:
1105         (WebCore::LocaleWin::isLocalizedDigit): A helper for parseNumber(). This
1106         return true if the specified character is one of native digits.
1107         (WebCore::LocaleWin::parseNumber):
1108         Try to parse ASCII digits, then try to parse native digtis. This
1109         becomes a member of LocaleWin because it uses
1110         convertFromLocalizedNumber().
1111         (WebCore::LocaleWin::appendNumber): Apply convertToLocalizedNumber().
1112         (WebCore::LocaleWin::appendTwoDigitsNumber): ditto.
1113         (WebCore::LocaleWin::appendFourDigitsNumber): ditto.
1114         * platform/text/LocaleWin.h:
1115         (LocaleWin):
1116         - Make some static functions member functions of LocaleWin.
1117         - Add isLocalizedDigit().
1118
1119 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1120
1121         Rename collectGarbageIfNecessary() to hintForCollectGarbage()
1122         https://bugs.webkit.org/show_bug.cgi?id=94455
1123
1124         Reviewed by Adam Barth.
1125
1126         This is a follow-up patch for r126098.
1127
1128         collectGarbage() always collects garbage. collectGarbageIfNecessary() just sends
1129         an idle notification to V8, which is just a hint for V8 to trigger GC.
1130         To clarify the difference, this patch renames collectGarbageIfNecessary()
1131         to hintForCollectGarbage().
1132
1133         No tests. No change in behavior.
1134
1135         * bindings/v8/ScriptController.cpp:
1136         (WebCore::ScriptController::clearForClose):
1137         (WebCore::ScriptController::clearForNavigation):
1138         * bindings/v8/V8GCController.cpp:
1139         (WebCore::V8GCController::hintForCollectGarbage):
1140         * bindings/v8/V8GCController.h:
1141         (V8GCController):
1142
1143 2012-08-20  Alexandre Elias  <aelias@google.com>
1144
1145         [chromium] Texture layer should not generate zero textureId quads
1146         https://bugs.webkit.org/show_bug.cgi?id=94550
1147
1148         Reviewed by Adrienne Walker.
1149
1150         After a context loss, CCTextureLayerImpl would clear its textureId
1151         but continued to produce external resources and quads with the zero
1152         textureid.  Add early returns so that CCTextureLayerImpl becomes
1153         inert after a context loss.
1154
1155         Added assertion in read lock so that dontUseOldResourcesAfterLostContext
1156         test catches the problem.
1157
1158         * platform/graphics/chromium/cc/CCResourceProvider.h:
1159         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
1160         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1161         (WebCore::CCTextureLayerImpl::willDraw):
1162         (WebCore::CCTextureLayerImpl::appendQuads):
1163         (WebCore::CCTextureLayerImpl::didDraw):
1164         (WebCore::CCTextureLayerImpl::didLoseContext):
1165
1166 2012-08-20  Kent Tamura  <tkent@chromium.org>
1167
1168         [Chromium] Make the popup positioning code testable
1169         https://bugs.webkit.org/show_bug.cgi?id=94086
1170
1171         Reviewed by Hajime Morita.
1172
1173         Introduce PopupContent interface in order to make a mock.
1174
1175         * platform/chromium/PopupContainer.cpp:
1176         (WebCore::PopupContainer::layoutAndCalculateWidgetRectInternal):
1177          - Make it a member of PopupContainer to avoid namespace pollution.
1178          - Use PopupContent interface.
1179          - Make the code clearer.
1180         * platform/chromium/PopupContainer.h:
1181         (PopupContainer): Expose layoutAndCalculateWidgetRectInternal.
1182
1183         * platform/chromium/PopupListBox.cpp:
1184         (WebCore::PopupListBox::popupContentHeight): Added.
1185         * platform/chromium/PopupListBox.h:
1186         (PopupContent): Added.
1187         (PopupListBox): Inherit PopupContent.
1188         (WebCore::PopupListBox::~PopupListBox):
1189         Make this virtual because this class has some virtual functions.
1190
1191 2012-08-20  Tom Sepez  <tsepez@chromium.org>
1192
1193         XSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
1194         https://bugs.webkit.org/show_bug.cgi?id=94547
1195
1196         Reviewed by Adam Barth.
1197
1198         Check that there is a host before making same-host tests.
1199
1200         Test: fast/frames/xss-auditor-handles-file-urls.html
1201
1202         * html/parser/XSSAuditor.cpp:
1203         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1204         (WebCore::XSSAuditor::isLikelySafeResource):
1205         * html/parser/XSSAuditor.h:
1206
1207 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
1208
1209         Removed dead code from a very old iteration of CSS counters.
1210         https://bugs.webkit.org/show_bug.cgi?id=94539
1211
1212         Reviewed by Eric Seidel.
1213
1214         Remove two unused shorts that were on StyleRareNonInheritedData that are no longer used.
1215
1216         No tests, this just removes dead code.
1217
1218         * rendering/style/RenderStyle.cpp:
1219         (WebCore::RenderStyle::diff):
1220         * rendering/style/RenderStyle.h:
1221         * rendering/style/StyleRareNonInheritedData.cpp:
1222         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1223         (WebCore::StyleRareNonInheritedData::operator==):
1224         * rendering/style/StyleRareNonInheritedData.h:
1225         (StyleRareNonInheritedData):
1226
1227 2012-08-20  Luke Macpherson   <macpherson@chromium.org>
1228
1229         Fix inspector with variables enabled and enable inspector variables tests by default.
1230         https://bugs.webkit.org/show_bug.cgi?id=94296
1231
1232         Reviewed by Hajime Morita.
1233
1234         Change from using getPropertyName static function to CSSProperty::cssName(), which can resolve variables if needed.
1235
1236         Covered by inspector/styles/variables.
1237
1238         * css/PropertySetCSSStyleDeclaration.cpp:
1239         (WebCore::PropertySetCSSStyleDeclaration::item):
1240
1241 2012-08-20  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1242
1243         Cancel the outstanding vibration pattern if the pattern is 0 or an empty list
1244         https://bugs.webkit.org/show_bug.cgi?id=94085
1245
1246         Reviewed by Kentaro Hara.
1247
1248         vibrate() method to stop the device from vibrating is getting called before the
1249         vibration is in effect. Hence, it is failing to cancel the pre-existing instance
1250         of processing vibration patterns. 
1251
1252         This patch cancel the pre-existing instance of the processing vibration patterns
1253         always when the vibrate() method called with pattern 0 or an empty list.
1254
1255         No new tests since there is no return value in the Vibration API to test this
1256         particular case. Existing test fast/dom/navigator-vibration.html covers testing of
1257         the Vibration API.
1258
1259         * Modules/vibration/Vibration.cpp:
1260         (WebCore::Vibration::vibrate):
1261
1262 2012-08-20  Adam Klein  <adamk@chromium.org>
1263
1264         Allow MutationEvents to be enabled/disabled per context
1265         https://bugs.webkit.org/show_bug.cgi?id=94016
1266
1267         Reviewed by Ojan Vafai.
1268
1269         Chromium wants to be able to turn MutationEvents off for some
1270         Documents (e.g., for Apps V2). This patch makes the firing (and the
1271         constructor on DOMWindow) of MutationEvents a per-context feature, with
1272         the default being enabled.
1273
1274         No functional change (since the feature defaults to enabled).
1275         It's not clear to me that there's a way to test this in DRT without
1276         adding a special hook for this one feature. It will be tested in
1277         Chromium once it's implemented in Chromium.
1278
1279         * dom/ContextFeatures.cpp:
1280         (WebCore::ContextFeatures::mutationEventsEnabled): Add new method,
1281         with the default being enabled.
1282         * dom/ContextFeatures.h:
1283         * dom/Document.cpp:
1284         (WebCore::Document::addMutationEventListenerTypeIfEnabled): Add new
1285         method that checks the ContextFeature flag before adding the passed-in
1286         listener type.
1287         (WebCore::Document::addListenerTypeIfNeeded): Call the new method
1288         instead of addListenerType for MutationEvent types.
1289         * dom/Document.h:
1290         (WebCore::Document::addListenerType): Make private to avoid anyone
1291         outside Document from enabling MutationEvent listeners. All callers
1292         must go through addListenerTypeIfNeeded.
1293
1294 2012-08-20  Levi Weintraub  <leviw@chromium.org>
1295
1296         [Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
1297         https://bugs.webkit.org/show_bug.cgi?id=94526
1298
1299         Reviewed by Eric Seidel.
1300
1301         Reverting RenderLayer's m_blockSelectionGapsBounds to be an IntRect and applying enclosingIntRect to the
1302         gapRects added to the bounds. Previously, we'd end multiple block gaps and pixel snap the result, which
1303         can yield results one pixel off in width and height.
1304
1305         Covered by existing tests. This undoes some of the rebaselining from when sub-pixel was enabled for Chromium.
1306
1307         * rendering/RenderLayer.cpp:
1308         * rendering/RenderLayer.h:
1309
1310 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1311
1312         [V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
1313         https://bugs.webkit.org/show_bug.cgi?id=94456
1314
1315         Reviewed by Adam Barth.
1316
1317         To kill V8Proxy, this patch moves instrumentedCallFunction() from V8Proxy
1318         to ScriptController. Also this patch renames instrumentedCallFunction()
1319         to callFunctionWithInstrumentation(), for consistency with callFunction().
1320
1321         No tests. No change in behavior.
1322
1323         * bindings/v8/ScriptController.cpp:
1324         (WebCore::ScriptController::callFunction):
1325         (WebCore):
1326         (WebCore::handleMaxRecursionDepthExceeded):
1327         (WebCore::resourceInfo):
1328         (WebCore::resourceString):
1329         (WebCore::ScriptController::callFunctionWithInstrumentation):
1330         * bindings/v8/ScriptController.h:
1331         (ScriptController):
1332         * bindings/v8/ScriptFunctionCall.cpp:
1333         (WebCore::ScriptCallback::call):
1334         * bindings/v8/V8Callback.cpp:
1335         (WebCore::invokeCallback):
1336         * bindings/v8/V8NodeFilterCondition.cpp:
1337         (WebCore::V8NodeFilterCondition::acceptNode):
1338         * bindings/v8/V8Proxy.cpp:
1339         (WebCore):
1340         * bindings/v8/V8Proxy.h:
1341         (V8Proxy):
1342         * bindings/v8/V8WindowErrorHandler.cpp:
1343         (WebCore::V8WindowErrorHandler::callListenerFunction):
1344         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1345         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1346
1347 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
1348
1349         Never notify of insertedIntoTree during document destruction.
1350         https://bugs.webkit.org/show_bug.cgi?id=94535
1351
1352         Reviewed by Eric Seidel.
1353
1354         Never notify of insertedIntoTree during document destruction. Previously since we
1355         avoid notifying of willBeRemovedFromTree it's possible we could have gotten several
1356         insertedIntoTree notifications without ever being told we were removed.
1357
1358         No tests needed since this just closes holes related to future code.
1359
1360         * rendering/RenderObjectChildList.cpp:
1361         (WebCore::RenderObjectChildList::appendChildNode): Never call insertedIntoTree during document destruction.
1362         (WebCore::RenderObjectChildList::insertChildNode): Same.
1363         * rendering/RenderRegion.cpp:
1364         (WebCore::RenderRegion::attachRegion): Removed unneeded document destruction check.
1365
1366 2012-08-20  James Robinson  <jamesr@chromium.org>
1367
1368         [chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents layer
1369         https://bugs.webkit.org/show_bug.cgi?id=94552
1370
1371         Reviewed by Kenneth Russell.
1372
1373         Set it or it don't work good.
1374
1375         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1376         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1377
1378 2012-08-20  Rik Cabanier  <cabanier@adobe.com>
1379
1380         parse CSS attribute -webkit-blend-mode
1381         https://bugs.webkit.org/show_bug.cgi?id=94024
1382  
1383         Reviewed by Dirk Schulze.
1384
1385         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
1386
1387         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
1388                css3/compositing/blend-mode-property-parsing.html
1389                css3/compositing/blend-mode-property.html
1390
1391         * css/CSSComputedStyleDeclaration.cpp:
1392         (WebCore):
1393         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1394         * css/CSSParser.cpp:
1395         (WebCore::isValidKeywordPropertyAndValue):
1396         (WebCore::isKeywordPropertyID):
1397         (WebCore::CSSParser::parseValue):
1398         * css/CSSProperty.cpp:
1399         (WebCore::CSSProperty::isInheritedProperty):
1400         * css/CSSPropertyNames.in:
1401         * css/CSSValueKeywords.in:
1402         * css/StyleBuilder.cpp:
1403         (WebCore::StyleBuilder::StyleBuilder):
1404         * rendering/RenderLayer.h:
1405         (RenderLayer):
1406         * rendering/RenderLayerBacking.cpp:
1407         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1408         (WebCore):
1409         (WebCore::RenderLayerBacking::updateLayerBlendMode):
1410         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1411         (WebCore::RenderLayerBacking::setBlendMode):
1412         * rendering/RenderLayerBacking.h:
1413         (RenderLayerBacking):
1414         * rendering/style/RenderStyle.cpp:
1415         (WebCore::RenderStyle::diff):
1416         * rendering/style/RenderStyle.h:
1417         * rendering/style/StyleRareNonInheritedData.cpp:
1418         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1419         (WebCore::StyleRareNonInheritedData::operator==):
1420         * rendering/style/StyleRareNonInheritedData.h:
1421         (StyleRareNonInheritedData):
1422
1423 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1424
1425         [V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
1426         https://bugs.webkit.org/show_bug.cgi?id=94460
1427
1428         Reviewed by Adam Barth.
1429
1430         To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
1431         from V8Proxy to V8Binding. Also, this patch renames these methods as follows:
1432
1433         - retrieveWindow() -> toDOMWindow()
1434         - retrieveFrame() -> toFrameIfNotDetached()
1435         - retrievePerContextData() -> perContextDataForCurrentWorld()
1436
1437         No tests. No change in behavior.
1438
1439         * bindings/v8/BindingState.cpp:
1440         (WebCore::activeDOMWindow):
1441         (WebCore::firstDOMWindow):
1442         (WebCore::activeFrame):
1443         (WebCore::firstFrame):
1444         (WebCore::currentFrame):
1445         (WebCore::currentDocument):
1446         * bindings/v8/PageScriptDebugServer.cpp:
1447         (WebCore::retrieveFrameWithGlobalObjectCheck):
1448         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
1449         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
1450         * bindings/v8/V8Binding.cpp:
1451         (WebCore::retrieveWindow):
1452         (WebCore):
1453         (WebCore::retrieveFrame):
1454         (WebCore::retrievePerContextData):
1455         * bindings/v8/V8Binding.h:
1456         (WebCore):
1457         * bindings/v8/V8DOMWrapper.cpp:
1458         (WebCore::V8DOMWrapper::constructorForType):
1459         * bindings/v8/V8NPUtils.cpp:
1460         (WebCore::convertV8ObjectToNPVariant):
1461         * bindings/v8/V8Proxy.cpp:
1462         (WebCore::V8Proxy::handleOutOfMemory):
1463         (WebCore::V8Proxy::context):
1464         (WebCore::V8Proxy::matchesCurrentContext):
1465         * bindings/v8/V8Proxy.h:
1466         (V8Proxy):
1467
1468 2012-08-20  Abhishek Arya  <inferno@chromium.org>
1469
1470         Yank an unneccessary if added in r125810.
1471         https://bugs.webkit.org/show_bug.cgi?id=85804
1472
1473         Reviewed by Levi Weintraub.
1474
1475         * rendering/RenderBlockLineLayout.cpp:
1476         (WebCore::RenderBlock::layoutInlineChildren):
1477
1478 2012-08-20  James Robinson  <jamesr@chromium.org>
1479
1480         [chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
1481         https://bugs.webkit.org/show_bug.cgi?id=94544
1482
1483         Reviewed by Adrienne Walker.
1484
1485         GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
1486         layer, it may be unsafe to touch the old value. It's also completely unnecessary.
1487
1488         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1489         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1490         (WebCore::GraphicsLayerChromium::setContentsToImage):
1491         (WebCore::GraphicsLayerChromium::setContentsTo):
1492         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1493         * platform/graphics/chromium/GraphicsLayerChromium.h:
1494
1495 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1496
1497         [V8] Move collectGarbage() from ScriptController to V8GCController
1498         https://bugs.webkit.org/show_bug.cgi?id=94455
1499
1500         Reviewed by Adam Barth.
1501
1502         - This patch moves collectGarbage() from ScriptController to V8GCController.
1503         - This patch makes collectGarbage() a static method.
1504         - This patch removes ScriptController::lowMemoryNotification()
1505         since it is not used at all.
1506
1507         No tests. No change in behavior.
1508
1509         * bindings/v8/ScriptController.cpp:
1510         * bindings/v8/ScriptController.h:
1511         * bindings/v8/V8GCController.cpp:
1512         (WebCore::V8GCController::collectGarbage):
1513         (WebCore):
1514         * bindings/v8/V8GCController.h:
1515         (V8GCController):
1516
1517 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1518
1519         [V8] Remove V8Proxy from V8IsolatedContext
1520         https://bugs.webkit.org/show_bug.cgi?id=94450
1521
1522         Reviewed by Adam Barth.
1523
1524         This patch removes dependency on V8Proxy from V8IsolatedContext.
1525
1526         No tests. No change in behavior.
1527
1528         * bindings/v8/ScriptController.cpp:
1529         (WebCore::ScriptController::evaluateInIsolatedWorld):
1530         * bindings/v8/V8IsolatedContext.cpp:
1531         (WebCore::V8IsolatedContext::V8IsolatedContext):
1532         * bindings/v8/V8IsolatedContext.h:
1533         (WebCore):
1534         (V8IsolatedContext):
1535
1536 2012-08-20  Philip Rogers  <pdr@google.com>
1537
1538         Canvas drawImage() should draw SVG at the correct scale.
1539         https://bugs.webkit.org/show_bug.cgi?id=94377
1540
1541         Previously, drawing SVG in canvas would render at the incorrect scale
1542         because imageSizeForRenderer did not take into account the page scale.
1543         After this patch, we now incorporate the page scale in
1544         CachedImage::imageSizeForRenderer().
1545
1546         Reviewed by Tim Horton.
1547
1548         Test: svg/as-image/svg-as-image-canvas.html
1549
1550         * loader/cache/CachedImage.cpp:
1551         (WebCore::CachedImage::imageSizeForRenderer):
1552
1553 2012-08-20  Simon Fraser  <simon.fraser@apple.com>
1554
1555         Assertion going back to results.html page from an image diff result
1556         https://bugs.webkit.org/show_bug.cgi?id=94143
1557
1558         Reviewed by Adam Barth.
1559
1560         Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
1561         ScriptCachedFrameData::restore(), as we may have already done this
1562         in ScriptController::clearWindowShell(). This avoids an assertion
1563         on some platforms when going Back to the test results page from
1564         a diff image.
1565
1566         * bindings/js/ScriptCachedFrameData.cpp:
1567         (WebCore::ScriptCachedFrameData::restore):
1568
1569 2012-08-20  Dean Jackson  <dino@apple.com>
1570
1571         [WebGL] OES_vertex_array_object is not correctly un/binding or deleting
1572         https://bugs.webkit.org/show_bug.cgi?id=94029
1573
1574         Reviewed by Ken Russell.
1575
1576         When the currently bound vertex array is deleted, the specification says that
1577         the default object should be bound in its place. Also, binding a null object
1578         as a vertex array was not actually clearing the bound object at the GL layer.
1579         And lastly, it should not be possible to bind a deleted vertex array.
1580
1581         The test case for this is the public Khronos WebGL conformance suite, in particular:
1582         conformance/extensions/oes-vertex-array-object.html
1583
1584         * html/canvas/OESVertexArrayObject.cpp:
1585         (WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
1586         currently bound, and if so, unbind it.
1587         (WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
1588         array that has been marked as deleted.
1589         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1590         (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
1591         do need to call glBindVertexArrayAPPLE with a null value in order to clear it.
1592
1593 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1594
1595         [V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
1596         https://bugs.webkit.org/show_bug.cgi?id=94459
1597
1598         Reviewed by Adam Barth.
1599
1600         To kill V8Proxy, we can move clearForClose() and
1601         clearForNavigation() from V8Proxy to ScriptController.
1602
1603         No tests. No change in behavior.
1604
1605         * bindings/v8/ScriptController.cpp:
1606         (WebCore::ScriptController::~ScriptController):
1607         (WebCore::ScriptController::resetIsolatedWorlds):
1608         (WebCore):
1609         (WebCore::ScriptController::clearForClose):
1610         (WebCore::ScriptController::clearForNavigation):
1611         (WebCore::ScriptController::clearWindowShell):
1612         * bindings/v8/ScriptController.h:
1613         (ScriptController):
1614         * bindings/v8/V8Proxy.cpp:
1615         (WebCore::V8Proxy::~V8Proxy):
1616         (WebCore::V8Proxy::handleOutOfMemory):
1617         * bindings/v8/V8Proxy.h:
1618         (V8Proxy):
1619
1620 2012-08-20  Dirk Schulze  <krit@webkit.org>
1621
1622         CSS Masking and CSS Filters applied in wrong order
1623         https://bugs.webkit.org/show_bug.cgi?id=94354
1624
1625         Reviewed by Dean Jackson.
1626
1627         According to the Filter Effects spec, the order should be first filters, then masking and clipping.
1628         Changed the order on applying the different effects in RenderLayer.
1629
1630         Test: css3/filters/filter-mask-clip-order.html
1631
1632         * rendering/RenderLayer.cpp:
1633         (WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.
1634
1635 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1636
1637         [V8] Move mainWorldContext() from V8Proxy to ScriptController
1638         https://bugs.webkit.org/show_bug.cgi?id=94453
1639
1640         Reviewed by Adam Barth.
1641
1642         This patch moves mainWorldContext() from V8Proxy to ScriptController.
1643         In addition, this patch removes dependency on V8Proxy from WorldContextHandle.
1644
1645         No tests. No change in behavior.
1646
1647         * bindings/v8/DOMTransaction.cpp:
1648         (WebCore::DOMTransaction::callFunction):
1649         * bindings/v8/NPV8Object.cpp:
1650         (WebCore::toV8Context):
1651         * bindings/v8/ScriptController.cpp:
1652         (WebCore::ScriptController::evaluate):
1653         (WebCore::ScriptController::mainWorldContext):
1654         (WebCore):
1655         (WebCore::ScriptController::bindToWindowObject):
1656         (WebCore::createScriptObject):
1657         (WebCore::ScriptController::createScriptObjectForPluginElement):
1658         * bindings/v8/ScriptController.h:
1659         (ScriptController):
1660         * bindings/v8/ScriptState.cpp:
1661         (WebCore::mainWorldScriptState):
1662         * bindings/v8/V8LazyEventListener.cpp:
1663         (WebCore::V8LazyEventListener::prepareListenerObject):
1664         * bindings/v8/V8Proxy.cpp:
1665         (WebCore::V8Proxy::context):
1666         (WebCore::toV8Context):
1667         * bindings/v8/V8Proxy.h:
1668         (V8Proxy):
1669         * bindings/v8/WorldContextHandle.cpp:
1670         (WebCore::WorldContextHandle::adjustedContext):
1671         * bindings/v8/WorldContextHandle.h:
1672         (WebCore):
1673         (WorldContextHandle):
1674
1675 2012-08-20  Adam Klein  <adamk@chromium.org>
1676
1677         Remove redundant TOUCH_LISTENER event type
1678         https://bugs.webkit.org/show_bug.cgi?id=94524
1679
1680         Reviewed by Ryosuke Niwa.
1681
1682         Code that needs to determine whether there are touch listeners
1683         can instead call Document::touchEventHandlerCount(), added in r107832.
1684         TOUCH_LISTENER didn't fit very well into the hasListenerType() model
1685         anyway, as there's not a 1:1 correspondance between the enum value and
1686         an event.
1687
1688         * dom/Document.cpp:
1689         (WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
1690         the bookkeeping for TOUCH_LISTENER, and the notification into
1691         ChromeClient (which is handled by calls to didAddTouchEventHandler in
1692         all the places that call addListenerTypeIfNeeded).
1693         (WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
1694         * dom/Document.h:
1695         * history/CachedFrame.cpp:
1696         (WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
1697         * html/HTMLInputElement.cpp:
1698         (WebCore::HTMLInputElement::updateType): ditto
1699         * page/EventHandler.cpp:
1700         (WebCore::EventHandler::handleTouchEvent): ditto
1701         * page/Frame.cpp:
1702         (WebCore::Frame::setDocument): ditto
1703         * testing/Internals.cpp: Remove hasTouchEventListener method since its
1704         data source no longer exists.
1705         * testing/Internals.h: ditto
1706         (Internals):
1707         * testing/Internals.idl: ditto
1708
1709 2012-08-16  James Robinson  <jamesr@chromium.org>
1710
1711         [chromium] Change WebLayer from a concrete type to a pure virtual interface
1712         https://bugs.webkit.org/show_bug.cgi?id=94174
1713
1714         Reviewed by Adrienne Walker.
1715
1716         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
1717         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
1718         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
1719         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
1720         m_transformLayer) and assembles the final layer tree.
1721
1722         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1723         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1724         (ScrollingCoordinatorPrivate):
1725         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1726         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1727         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1728         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1729         (WebCore::scrollableLayerForGraphicsLayer):
1730         (WebCore):
1731         (WebCore::createScrollbarLayer):
1732         (WebCore::ScrollingCoordinator::setScrollLayer):
1733         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1734         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1735         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1736         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1737         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1738         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1739         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
1740         (WebCore::AcceleratedDeviceContext::clearLayer):
1741         (AcceleratedDeviceContext):
1742         (WebCore::AcceleratedDeviceContext::prepareForDraw):
1743         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1744         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1745         (WebCore::Canvas2DLayerBridge::skCanvas):
1746         (WebCore::Canvas2DLayerBridge::layer):
1747         (WebCore::Canvas2DLayerBridge::contextAcquired):
1748         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1749         (WebCore):
1750         (Canvas2DLayerBridge):
1751         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1752         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1753         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1754         (WebCore::DrawingBufferPrivate::layer):
1755         (DrawingBufferPrivate):
1756         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1757         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1758         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1759         (WebCore::GraphicsLayerChromium::updateNames):
1760         (WebCore::GraphicsLayerChromium::removeFromParent):
1761         (WebCore::GraphicsLayerChromium::setSize):
1762         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1763         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1764         (WebCore::GraphicsLayerChromium::setFilters):
1765         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1766         (WebCore::GraphicsLayerChromium::setMaskLayer):
1767         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1768         (WebCore::GraphicsLayerChromium::setOpacity):
1769         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1770         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1771         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1772         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1773         (WebCore::GraphicsLayerChromium::setContentsToImage):
1774         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1775         (WebCore):
1776         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1777         (WebCore::GraphicsLayerChromium::setContentsTo):
1778         (WebCore::GraphicsLayerChromium::addAnimation):
1779         (WebCore::GraphicsLayerChromium::pauseAnimation):
1780         (WebCore::GraphicsLayerChromium::removeAnimation):
1781         (WebCore::GraphicsLayerChromium::suspendAnimations):
1782         (WebCore::GraphicsLayerChromium::resumeAnimations):
1783         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1784         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1785         (WebCore::GraphicsLayerChromium::platformLayer):
1786         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1787         (WebCore::GraphicsLayerChromium::setDebugBorder):
1788         (WebCore::GraphicsLayerChromium::updateChildList):
1789         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1790         (WebCore::GraphicsLayerChromium::updateLayerSize):
1791         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1792         (WebCore::GraphicsLayerChromium::updateTransform):
1793         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1794         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1795         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1796         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1797         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1798         (WebCore::GraphicsLayerChromium::updateContentsRect):
1799         (WebCore::GraphicsLayerChromium::updateContentsScale):
1800         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1801         * platform/graphics/chromium/GraphicsLayerChromium.h:
1802         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1803         (WebCore::GraphicsLayerChromium::contentLayer):
1804         (GraphicsLayerChromium):
1805         (WebCore::GraphicsLayerChromium::contentsLayer):
1806         * platform/graphics/chromium/LayerChromium.cpp:
1807         (WebCore::LayerChromium::rootLayer):
1808         * platform/graphics/chromium/LayerChromium.h:
1809
1810 2012-08-20  Leandro Gracia Gil  <leandrogracia@chromium.org>
1811
1812         Move transformFriendlyBoundingBox out of Range
1813         https://bugs.webkit.org/show_bug.cgi?id=94366
1814
1815         Reviewed by Simon Fraser and Ryosuke Niwa.
1816
1817         Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
1818         However, this method should not have been added there in order to reduce the
1819         dependencies between Range and the rendering code. This patch moves it to a
1820         static method in RenderObject.
1821
1822         Tests: existing tests, no new feature added by this patch.
1823
1824         * dom/Range.cpp:
1825         * dom/Range.h:
1826         * rendering/RenderObject.cpp:
1827         (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
1828         (WebCore):
1829         * rendering/RenderObject.h:
1830         (RenderObject):
1831
1832 2012-08-20  Ryosuke Niwa  <rniwa@webkit.org>
1833
1834         Replace isolate || bidi-override by isolate-override
1835         https://bugs.webkit.org/show_bug.cgi?id=89746
1836
1837         Reviewed by Levi Weintraub.
1838
1839         The combination of bidi-isolate and isolate was replaced by a single isolate-override in
1840         http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
1841         http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi
1842
1843         To follow the specification change, added -webkit-isolate-override and removed the support for
1844         isolate || bidi-override, simplifying the CSS parser and serializer.
1845
1846         Test: fast/text/bidi-override-isolate.html
1847
1848         * css/CSSComputedStyleDeclaration.cpp:
1849         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
1850         constructor now.
1851         * css/CSSParser.cpp:
1852         (WebCore::CSSParser::parseValue):
1853         * css/CSSPrimitiveValueMappings.h:
1854         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
1855         primitive value instead of a primitive value of css value list.
1856         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
1857         * css/CSSValueKeywords.in: Added -webkit-isolate-override
1858         * css/StyleBuilder.cpp:
1859         (WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
1860         (WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
1861         * platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
1862         (WebCore::isIsolated):
1863         (WebCore::isOverride):
1864         * rendering/RenderBlockLineLayout.cpp:
1865         (WebCore::constructBidiRuns):
1866
1867 2012-08-20  Tony Chang  <tony@chromium.org>
1868
1869         RenderGrid children should always be RenderBoxes
1870         https://bugs.webkit.org/show_bug.cgi?id=94305
1871
1872         Reviewed by Abhishek Arya.
1873
1874         During RenderGrid::layout, we assume all the children are RenderBoxes.
1875         When removing children, if the last child is an anonymous block, we don't
1876         want to remove the anonymous block for grids. Ensure this doesn't happen
1877         by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
1878         grid can override this method).
1879
1880         Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html
1881
1882         * rendering/RenderBlock.cpp:
1883         (WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
1884         * rendering/RenderBlock.h:
1885         (WebCore::RenderBlock::canCollapseAnonymousBlockChild):
1886         (RenderBlock):
1887         * rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
1888         * rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
1889         * rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.
1890
1891 2012-08-20  Kenneth Russell  <kbr@google.com>
1892
1893         Unreviewed, rolling out r126026.
1894         http://trac.webkit.org/changeset/126026
1895         https://bugs.webkit.org/show_bug.cgi?id=94449
1896
1897         Caused assertion failure in layout test touchadjustment/context-menu.html
1898
1899         * page/TouchAdjustment.cpp:
1900         (TouchAdjustment):
1901         (WebCore::TouchAdjustment::providesContextMenuItems):
1902         (WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
1903         (WebCore::TouchAdjustment::compileSubtargetList):
1904         (WebCore::findBestClickableCandidate):
1905         (WebCore::findBestContextMenuCandidate):
1906
1907 2012-08-20  Andrew Lo  <anlo@rim.com>
1908
1909         [BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
1910         https://bugs.webkit.org/show_bug.cgi?id=94514
1911
1912         Reviewed by Rob Buis.
1913
1914         Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
1915         debug prints. Fix build warnings from prints.
1916
1917         No new tests, non-functional change.
1918
1919         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
1920         (WebCore::GraphicsLayerBlackBerry::addAnimation):
1921         (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
1922
1923 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
1924
1925         [JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
1926         https://bugs.webkit.org/show_bug.cgi?id=94493
1927
1928         Reviewed by Oliver Hunt.
1929
1930         Update JSC implementation for SerializedScriptValue::create() so that
1931         a DataCloneError is thrown when the input value is an unsupported
1932         object. The previous implementation was not throwing any error.
1933
1934         This change is according to the structured clone specification at:
1935         http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone
1936
1937         This also matches the corresponding V8 implementation.
1938
1939         Test: fast/events/message-port-multi.html.
1940
1941         * bindings/js/SerializedScriptValue.cpp:
1942         (WebCore::CloneSerializer::dumpIfTerminal):
1943         (WebCore::CloneSerializer::serialize):
1944         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
1945         * bindings/js/SerializedScriptValue.h:
1946
1947 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1948
1949         Unreviewed, rolling out r125884.
1950         http://trac.webkit.org/changeset/125884
1951         https://bugs.webkit.org/show_bug.cgi?id=94523
1952
1953         Appears to be causing a top crash in the Canary channel
1954         (Requested by abarth on #webkit).
1955
1956         * UseV8.cmake:
1957         * WebCore.gypi:
1958         * bindings/v8/DOMWrapperWorld.cpp:
1959         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1960         (WebCore::mainThreadNormalWorld):
1961         * bindings/v8/DOMWrapperWorld.h:
1962         (WebCore):
1963         (WebCore::DOMWrapperWorld::create):
1964         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1965         (DOMWrapperWorld):
1966         * bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
1967         (WebCore):
1968         (WebCore::IsolatedWorld::IsolatedWorld):
1969         (WebCore::IsolatedWorld::~IsolatedWorld):
1970         * bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
1971         (WebCore):
1972         (IsolatedWorld):
1973         (WebCore::IsolatedWorld::create):
1974         (WebCore::IsolatedWorld::count):
1975         (WebCore::IsolatedWorld::id):
1976         (WebCore::IsolatedWorld::domDataStore):
1977         * bindings/v8/V8DOMWrapper.h:
1978         (WebCore::V8DOMWrapper::getCachedWrapper):
1979         * bindings/v8/V8IsolatedContext.cpp:
1980         (WebCore::V8IsolatedContext::V8IsolatedContext):
1981         (WebCore::V8IsolatedContext::destroy):
1982         * bindings/v8/V8IsolatedContext.h:
1983         (WebCore::V8IsolatedContext::getEntered):
1984         (WebCore::V8IsolatedContext::world):
1985         (V8IsolatedContext):
1986         * bindings/v8/V8PerIsolateData.h:
1987         (WebCore::V8PerIsolateData::registerDOMDataStore):
1988         (WebCore::V8PerIsolateData::unregisterDOMDataStore):
1989
1990 2012-08-20  Chris Rogers  <crogers@google.com>
1991
1992         Remove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
1993         https://bugs.webkit.org/show_bug.cgi?id=94504
1994
1995         Reviewed by Kenneth Russell.
1996
1997         AudioParamTimeline::valuesForTimeRangeImpl() is able to handle the case where there are no timeline events.
1998         So don't ASSERT for that case.
1999
2000         * Modules/webaudio/AudioParamTimeline.cpp:
2001         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2002
2003 2012-08-20  Ken Buchanan  <kenrb@chromium.org>
2004         Line boxes not being dirtied correctly during inline removal
2005         https://bugs.webkit.org/show_bug.cgi?id=93156
2006
2007         Reviewed by David Hyatt.
2008
2009         When two inline objects were being removed from different lineboxes
2010         in an ancestral RenderBlock, the way the RenderBlock was being marked
2011         prevented the second linebox from being marked dirty. This causes
2012         it to not get layout in the subsequent layout pass.
2013
2014         This patch causes only the descendants corresponding to actual changed
2015         lineboxes to have their ancestorLineBoxDirty bit set, rather than
2016         the RenderBlock that contains the lineboxes themselves.
2017
2018         * rendering/RenderLineBoxList.cpp:
2019         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2020
2021 2012-08-20  John Mellor  <johnme@chromium.org>
2022
2023         Text Autosizing: Only take into account block width <= document layout width.
2024         https://bugs.webkit.org/show_bug.cgi?id=93862
2025
2026         Reviewed by Kenneth Rohde Christiansen.
2027
2028         Instead of calculating the textAutosizingMultiplier purely based on the
2029         width of each block, we now work out the maximum width of the block
2030         that could be displayed onscreen at any one time, and use that value.
2031         This avoids excessive text size multiplication (there's no point making
2032         text bigger than this, since you wouldn't be able to zoom out far
2033         enough to read it!).
2034
2035         To determine the maximum onscreen block width, we take the minimum of
2036         the block width and the layoutWidth of the narrowest non-flattened
2037         ancestor frame. Flattened frames are ignored since they don't impose a
2038         hard limit on the maximum width that can be displayed, instead they can
2039         stretch to fit their contents. Note that on mobile the layoutWidth of
2040         the main frame is the fixed layout width aka viewport width.
2041
2042         In practice this caps the maximum multiplier to a value that depends
2043         on the metrics of the device. For example on a Nexus S (480 x 800px
2044         and 1.5x devicePixelRatio) with a 980px default fixed layout width,
2045         this limits the multiplier to: 980 / (480/1.5) = 3.0625
2046
2047         Most pages won't have blocks that actually hit this cap, or they will
2048         only slightly exceed it (so their multiplier will only be slightly
2049         reduced). For example it's not uncommon for desktop pages to be
2050         slightly wider than 980px, but they would have to additionally have
2051         text that spans the full width of the page for this to affect them, and
2052         even then it would merely slightly decrease their multiplier).
2053
2054         This will have more dramatic effects on the rare desktop pages which
2055         give a width=device-width (or similar) mobile viewport tag (on ports
2056         which support viewports). A follow-up patch will hopefully address this
2057         by wrapping the text in such excessively wide blocks to the layoutWidth.
2058
2059         Tests: fast/text-autosizing/narrow-iframe-flattened.html
2060                fast/text-autosizing/narrow-iframe.html
2061                fast/text-autosizing/wide-block.html
2062                fast/text-autosizing/wide-iframe.html
2063
2064         * page/FrameView.cpp:
2065         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
2066
2067             Made public and const, so can be used from TextAutosizer.
2068
2069         * rendering/TextAutosizer.cpp:
2070         (WebCore::TextAutosizer::processSubtree):
2071
2072             Computes the minimum layout width of the parent frames, as described
2073             above.
2074
2075         (WebCore::TextAutosizer::processBlock):
2076
2077             Limits used block width to this min layout width.
2078
2079 2012-08-20  Hans Wennborg  <hans@chromium.org>
2080
2081         Respect runtime flags for Device Orientation and Device Motion
2082         https://bugs.webkit.org/show_bug.cgi?id=94479
2083
2084         Reviewed by Adam Barth.
2085
2086         There are flags that allows disabling of device orientation and device
2087         motion at runtime. These flags determine the availability of the
2088         corresponding event constructors in DOMWindow.
2089
2090         However, the flags should also control the ability to add event
2091         listeners for these events, otherwise the feature can be used even if
2092         it is disabled.
2093
2094         * page/DOMWindow.cpp:
2095         (WebCore::DOMWindow::addEventListener):
2096
2097 2012-08-20  Philip Rogers  <pdr@google.com>
2098
2099         Remove incorrect getBBox() code
2100         https://bugs.webkit.org/show_bug.cgi?id=94419
2101
2102         Reviewed by Dirk Schulze.
2103
2104         SVGPathElement defines a getBBox() function that is wrong and
2105         should use objectBoundingBox(). This patch cleans this up.
2106
2107         No new tests as this is just a cleanup of old code.
2108
2109         * svg/SVGPathElement.cpp:
2110         (WebCore):
2111         * svg/SVGPathElement.h:
2112         (SVGPathElement):
2113
2114 2012-08-20  David Reveman  <reveman@chromium.org>
2115
2116         [Chromium] Schedule texture uploads based on hard-coded timer and vsync.
2117         https://bugs.webkit.org/show_bug.cgi?id=84281
2118
2119         Reviewed by James Robinson.
2120
2121         Improve interaction between vsync and texture uploads by performing
2122         uploads in smaller batches and use a hard-coded timer to emulate
2123         upload completion. This greatly reduces the chance of the compositor
2124         missing a vsync due to being busy with texture uploads.
2125
2126         The CCScheduler client is now given a time limit when told to update
2127         more resources. This time limit is passed to an instance of the
2128         CCTextureUpdateController class, which is responsible for performing
2129         texture updates until the limit is reached.
2130
2131         Unit tests: CCSchedulerTest.RequestCommit
2132                     CCTextureUpdateControllerTest.UpdateMoreTextures
2133                     CCTextureUpdateControllerTest.HasMoreUpdates
2134
2135         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2136         (WebCore::CCFrameRateController::nextTickTime):
2137         (WebCore):
2138         * platform/graphics/chromium/cc/CCFrameRateController.h:
2139         (CCFrameRateController):
2140         * platform/graphics/chromium/cc/CCScheduler.cpp:
2141         (WebCore::CCScheduler::processScheduledActions):
2142         * platform/graphics/chromium/cc/CCScheduler.h:
2143         (CCSchedulerClient):
2144         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
2145         (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
2146         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
2147         (WebCore::CCTextureUpdateController::updateMoreTextures):
2148         (WebCore):
2149         (WebCore::CCTextureUpdateController::onTimerFired):
2150         (WebCore::CCTextureUpdateController::monotonicTimeNow):
2151         (WebCore::CCTextureUpdateController::updateMoreTexturesTime):
2152         (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
2153         (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
2154         (WebCore::CCTextureUpdateController::updateMoreTexturesNow):
2155         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
2156         (WebCore::CCTextureUpdateController::create):
2157         (CCTextureUpdateController):
2158         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2159         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2160         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
2161         * platform/graphics/chromium/cc/CCThreadProxy.h:
2162
2163 2012-08-20  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2164
2165         [css3-text] Add parsing support for -webkit-text-decoration-style
2166         https://bugs.webkit.org/show_bug.cgi?id=94093
2167
2168         Reviewed by Julien Chaffraix.
2169
2170         This patch implements the "text-decoration-style" property parsing as specified
2171         in CSS3 working draft, with "-webkit-" prefix. The specification can be found
2172         here: http://dev.w3.org/csswg/css3-text/#text-decoration-style
2173
2174         Additionally, Mozilla implementation details can be found here:
2175         https://developer.mozilla.org/en-US/docs/CSS/text-decoration-style
2176
2177         This is an individual task for bug 90958. Rendering support will be handled on a
2178         different bug.
2179
2180         Test: fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html
2181
2182         * css/CSSComputedStyleDeclaration.cpp:
2183         (WebCore::renderTextDecorationStyleFlagsToCSSValue):
2184         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2185         * css/CSSParser.cpp:
2186         (WebCore::CSSParser::parseValue):
2187         * css/CSSPrimitiveValueMappings.h:
2188         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
2189         * css/CSSProperty.cpp:
2190         (WebCore::CSSProperty::isInheritedProperty):
2191         * css/CSSPropertyNames.in:
2192         * css/CSSValueKeywords.in:
2193         * css/StyleBuilder.cpp:
2194         (WebCore::StyleBuilder::StyleBuilder):
2195         * css/StyleResolver.cpp:
2196         (WebCore::StyleResolver::collectMatchingRulesForList):
2197         * rendering/style/RenderStyle.cpp:
2198         (WebCore::RenderStyle::diff):
2199         * rendering/style/RenderStyle.h:
2200         * rendering/style/RenderStyleConstants.h: Added non-bitwise TextDecorationStyle enum.
2201         * rendering/style/StyleRareNonInheritedData.cpp:
2202         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Added m_textDecorationStyle to default and copy constructors.
2203         (WebCore::StyleRareNonInheritedData::operator==): Include m_textDecorationStyle in comparison.
2204         * rendering/style/StyleRareNonInheritedData.h:
2205         (StyleRareNonInheritedData):
2206         Added m_textDecorationStyle here as it won't be used regularly.
2207
2208 2012-08-20  Jakob Petsovits  <jpetsovits@rim.com>
2209
2210         [BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
2211         https://bugs.webkit.org/show_bug.cgi?id=94482
2212         RIM PR 184923
2213
2214         Reviewed by Yong Li.
2215
2216         BlackBerry::Platform recently made changes that ensure
2217         that MessageClient threads are being shut down correctly.
2218         A new onThreadFinished() virtual was introduced for
2219         custom clean-up functionality and can replace the
2220         atexit() handler that we previously used to flush cookies
2221         to the cookie database backingstore.
2222
2223         No new functionality, no new tests.
2224
2225         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
2226         (WebCore):
2227         (WebCore::CookieDatabaseBackingStore::onThreadFinished):
2228         (WebCore::CookieDatabaseBackingStore::sendChangesToDatabaseSynchronously):
2229         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
2230         (CookieDatabaseBackingStore):
2231         * platform/blackberry/CookieManager.cpp:
2232         (WebCore):
2233         (WebCore::cookieManager):
2234         * platform/blackberry/CookieManager.h:
2235
2236 2012-08-20  Alexandre Elias  <aelias@google.com>
2237
2238         [chromium] Move non-GL-specific code out of LayerRendererChromium
2239         https://bugs.webkit.org/show_bug.cgi?id=93927
2240
2241         Reviewed by Adrienne Walker.
2242
2243         This patch moves most of the generic logic dealing with matrices and
2244         render passes into a new class "CCDirectRenderer" that sits between
2245         CCRenderer and LayerRendererChromium, and also publicly exposes a
2246         few other things like the UnthrottledTextureUploader.
2247
2248         The plan is for the future software compositing implementation to also
2249         derive from CCDirectRenderer, whereas the ubercompositor delegating
2250         renderer will still derive from CCRenderer.
2251
2252         No new tests (no-op refactoring).
2253
2254         * WebCore.gypi:
2255         * platform/graphics/chromium/GeometryBinding.cpp:
2256         (WebCore::GeometryBinding::GeometryBinding):
2257         * platform/graphics/chromium/GeometryBinding.h:
2258         (GeometryBinding):
2259         * platform/graphics/chromium/LayerRendererChromium.cpp:
2260         (WebCore::LayerRendererChromium::LayerRendererChromium):
2261         (WebCore::LayerRendererChromium::beginDrawingFrame):
2262         (WebCore::LayerRendererChromium::drawQuad):
2263         (WebCore::LayerRendererChromium::drawRenderPassQuad):
2264         (WebCore::LayerRendererChromium::drawTileQuad):
2265         (WebCore::LayerRendererChromium::finishDrawingFrame):
2266         (WebCore::LayerRendererChromium::drawQuadGeometry):
2267         (WebCore::LayerRendererChromium::bindFramebufferToOutputSurface):
2268         (WebCore):
2269         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
2270         (WebCore::LayerRendererChromium::enableScissorTestRect):
2271         (WebCore::LayerRendererChromium::disableScissorTest):
2272         (WebCore::LayerRendererChromium::setDrawViewportSize):
2273         (WebCore::LayerRendererChromium::makeContextCurrent):
2274         (WebCore::LayerRendererChromium::initializeSharedObjects):
2275         * platform/graphics/chromium/LayerRendererChromium.h:
2276         (LayerRendererChromium):
2277         * platform/graphics/chromium/TextureCopier.h:
2278         (TextureCopier):
2279         * platform/graphics/chromium/TextureUploader.h:
2280         (UnthrottledTextureUploader):
2281         (WebCore::UnthrottledTextureUploader::create):
2282         (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
2283         (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
2284         (WebCore):
2285         * platform/graphics/chromium/cc/CCDirectRenderer.cpp: Added.
2286         (projectionMatrix):
2287         (canvasMatrix):
2288         (WebCore):
2289         (WebCore::CCDirectRenderer::DrawingFrame::initializeMatrices):
2290         (WebCore::CCDirectRenderer::DrawingFrame::initializeScissors):
2291         (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
2292         (WebCore::CCDirectRenderer::drawFrame):
2293         (WebCore::CCDirectRenderer::drawRenderPass):
2294         (WebCore::CCDirectRenderer::useRenderPass):
2295         (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
2296         (WebCore::CCDirectRenderer::renderPassTextureSize):
2297         (WebCore::CCDirectRenderer::renderPassTextureFormat):
2298         * platform/graphics/chromium/cc/CCDirectRenderer.h: Added.
2299         (WebCore):
2300         (CCDirectRenderer):
2301         (WebCore::CCDirectRenderer::~CCDirectRenderer):
2302         (WebCore::CCDirectRenderer::resourceProvider):
2303         (WebCore::CCDirectRenderer::CCDirectRenderer):
2304         (DrawingFrame):
2305         (WebCore::CCDirectRenderer::DrawingFrame::DrawingFrame):
2306         (CachedTexture):
2307         (WebCore::CCDirectRenderer::CachedTexture::create):
2308         (WebCore::CCDirectRenderer::CachedTexture::~CachedTexture):
2309         (WebCore::CCDirectRenderer::CachedTexture::isComplete):
2310         (WebCore::CCDirectRenderer::CachedTexture::setIsComplete):
2311         (WebCore::CCDirectRenderer::CachedTexture::CachedTexture):
2312         (WebCore::CCDirectRenderer::quadVertexRect):
2313         (WebCore::CCDirectRenderer::quadRectTransform):
2314
2315 2012-08-20  Julien Chaffraix  <jchaffraix@webkit.org>
2316
2317         Introduce a will-be-removed-from-tree notification in RenderObject
2318         https://bugs.webkit.org/show_bug.cgi?id=94271
2319
2320         Reviewed by Abhishek Arya.
2321
2322         Following bug 93874, we have an insertion notification. This change adds the
2323         matching removal notification (willBeRemovedFromTree).
2324
2325         Refactoring covered by existing tests.
2326
2327         * rendering/RenderObjectChildList.cpp:
2328         (WebCore::RenderObjectChildList::removeChildNode):
2329         Removed the code from here and moved it below.
2330
2331         * rendering/RenderObject.cpp:
2332         (WebCore::RenderObject::willBeRemovedFromTree):
2333         * rendering/RenderObject.h:
2334         This is the base function that should be called by every instance.
2335
2336         * rendering/RenderListItem.cpp:
2337         (WebCore::RenderListItem::willBeRemovedFromTree):
2338         * rendering/RenderListItem.h:
2339         * rendering/RenderQuote.cpp:
2340         (WebCore::RenderQuote::willBeRemovedFromTree):
2341         * rendering/RenderQuote.h:
2342         * rendering/RenderRegion.cpp:
2343         (WebCore::RenderRegion::willBeRemovedFromTree):
2344         * rendering/RenderRegion.h:
2345         Overriden functions.
2346
2347 2012-08-20  Mike West  <mkwst@chromium.org>
2348
2349         CSP 1.1: The 'plugin-types' warning should include details about explicit type declaration when relevant.
2350         https://bugs.webkit.org/show_bug.cgi?id=94432
2351
2352         Reviewed by Adam Barth.
2353
2354         Given a 'plugin-types' Content Security Policy directive, an 'object' or
2355         'embed' tag is blocked if it doesn't include an explicit declaration of
2356         the plugin's expected media type. This restriction should be made clear
2357         in the console warning that's generated.
2358
2359         Existing tests have been adjusted to agree with the new error string.
2360
2361         * page/ContentSecurityPolicy.cpp:
2362         (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
2363             If a media type fail to match the policy's restrictions, and the
2364             declared type attribute is empty, then add another line to the
2365             console warning, espousing the virtues of explicit declaration.
2366
2367 2012-08-20  Dana Jansens  <danakj@chromium.org>
2368
2369         [chromium] Update HUD resources as a final step to drawing a frame
2370         https://bugs.webkit.org/show_bug.cgi?id=93743
2371
2372         Reviewed by Adrienne Walker.
2373
2374         The HUD should be painted as a last step, after the whole frame has been
2375         generated. This introduces a new "updateHudTexture" method on the HUD layer
2376         and has the HUD layer save itself on CCLayerTreeHostImpl so that it can
2377         call back to this method.
2378
2379         This allows the CCLayerTreeHostImpl to cause the HUD layer to update its
2380         texture as a final step before drawing the frame, allowing the HUD texture
2381         to contain all possible information about the current frame.
2382
2383         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
2384         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
2385         (WebCore):
2386         (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
2387         (WebCore::CCHeadsUpDisplayLayerImpl::updateHudTexture):
2388         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
2389         (CCHeadsUpDisplayLayerImpl):
2390         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2391         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2392         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2393         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2394         (WebCore::CCLayerTreeHostImpl::drawLayers):
2395         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2396         (WebCore):
2397         (WebCore::CCLayerTreeHostImpl::setHudLayer):
2398         (WebCore::CCLayerTreeHostImpl::hudLayer):
2399         (CCLayerTreeHostImpl):
2400
2401 2012-08-20  Ian Vollick  <vollick@chromium.org>
2402
2403         [chromium] Add tracing for active composited animations
2404         https://bugs.webkit.org/show_bug.cgi?id=84210
2405
2406         Reviewed by James Robinson.
2407
2408         This patch issues the trace events from the animations. Animations will
2409         report when they start and finish on the main and impl threads (via
2410         TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
2411         change state.
2412
2413         No new tests, only changes tracing behavior.
2414
2415         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
2416         (WebCore::CCActiveAnimation::CCActiveAnimation):
2417         (WebCore::CCActiveAnimation::~CCActiveAnimation):
2418         (WebCore::CCActiveAnimation::setRunState):
2419         (WebCore::CCActiveAnimation::clone):
2420         (WebCore):
2421         (WebCore::CCActiveAnimation::cloneAndInitialize):
2422         * platform/graphics/chromium/cc/CCActiveAnimation.h:
2423         (WebCore::CCActiveAnimation::isControllingInstance):
2424         (CCActiveAnimation):
2425         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2426         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2427         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
2428         (WebCore::CCLayerAnimationController::tickAnimations):
2429
2430 2012-08-20  Bill Budge  <bbudge@chromium.org>
2431
2432         webkitfullscreenchange not fired properly in iframe.
2433         https://bugs.webkit.org/show_bug.cgi?id=93525
2434
2435         Reviewed by Adam Barth.
2436
2437         webkitCancelFullScreen exits fullscreen by invoking webkitExitFullScreen on topDocument.
2438         However, if webkitDidExitFullScreenForElement is invoked on a descendant document, no events
2439         get dispatched. This change starts the event dispatch delay timer on the document where
2440         webkitCancelFullScreen was called, so that the events get dispatched. In addition, when events
2441         are dispatched, the check whether a node has been removed is changed to also check that the
2442         node isn't in another document, as can happen with frames. Finally, webkitExitFullscreen
2443         is fixed to remove unnecessary code and conform to the spec.
2444
2445         No new tests (the existing fullscreen/exit-full-screen-iframe.html test now passes).
2446
2447         * dom/Document.cpp:
2448         (WebCore::Document::webkitExitFullscreen):
2449         (WebCore::Document::webkitDidExitFullScreenForElement):
2450         (WebCore::Document::fullScreenChangeDelayTimerFired):
2451
2452 2012-08-20  Yuzhu Shen  <yzshen@chromium.com>
2453
2454         [chromium] pepper plugins sometimes are shifted by 1 pixel
2455         https://bugs.webkit.org/show_bug.cgi?id=94257
2456
2457         Reviewed by Levi Weintraub.
2458
2459         Change RenderWidget::updateWidgetGeometry() to use LayoutRect instead of IntRect to avoid unwanted truncation
2460         (when converting from FloatRect to IntRect).
2461
2462         This makes sure that the optimized rendering code path of Pepper plugin
2463         (PluginInstance::GetBitmapForOptimizedPluginPaint) has consistent coordinates with the normal WebKit rendering
2464         code path.
2465
2466         No new tests because we don't have Pepper plugin tests in WebKit.
2467
2468         * rendering/RenderWidget.cpp:
2469         (WebCore::RenderWidget::updateWidgetGeometry):
2470
2471 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
2472
2473         postMessage() in MessagePort.idl does not match spec
2474         https://bugs.webkit.org/show_bug.cgi?id=94477
2475
2476         Reviewed by Kentaro Hara.
2477
2478         Update definition of postMessage() in MessagePort.idl
2479         to match the specification at:
2480         http://www.w3.org/TR/html5/comms.html#messageport
2481
2482         The first argument should be of type 'any', not
2483         'DOMString'.
2484
2485         No new tests, no behavior change.
2486
2487         * dom/MessagePort.idl:
2488
2489 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2490
2491         Unreviewed, rolling out r125989.
2492         http://trac.webkit.org/changeset/125989
2493         https://bugs.webkit.org/show_bug.cgi?id=94485
2494
2495         "Two of the new tests always failed on Mac bots" (Requested by
2496         bradee-oh on #webkit).
2497
2498         * css/CSSComputedStyleDeclaration.cpp:
2499         (WebCore):
2500         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2501         * css/CSSParser.cpp:
2502         (WebCore::isValidKeywordPropertyAndValue):
2503         (WebCore::isKeywordPropertyID):
2504         (WebCore::CSSParser::parseValue):
2505         * css/CSSProperty.cpp:
2506         (WebCore::CSSProperty::isInheritedProperty):
2507         * css/CSSPropertyNames.in:
2508         * css/CSSValueKeywords.in:
2509         * css/StyleBuilder.cpp:
2510         (WebCore::StyleBuilder::StyleBuilder):
2511         * rendering/RenderLayer.h:
2512         (RenderLayer):
2513         * rendering/RenderLayerBacking.cpp:
2514         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2515         (WebCore):
2516         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2517         * rendering/RenderLayerBacking.h:
2518         (RenderLayerBacking):
2519         * rendering/style/RenderStyle.cpp:
2520         (WebCore::RenderStyle::diff):
2521         * rendering/style/RenderStyle.h:
2522         * rendering/style/StyleRareNonInheritedData.cpp:
2523         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2524         (WebCore::StyleRareNonInheritedData::operator==):
2525         * rendering/style/StyleRareNonInheritedData.h:
2526         (StyleRareNonInheritedData):
2527
2528 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2529
2530         [Qt] Custom tap-highlight-color renders fully opaque
2531         https://bugs.webkit.org/show_bug.cgi?id=94468
2532
2533         Reviewed by Kenneth Rohde Christiansen.
2534
2535         Adjust the default tap-highlight-color to figure in that is will be
2536         drawn semi-transparent.
2537
2538         * rendering/RenderTheme.h:
2539         (RenderTheme):
2540
2541 2012-08-20  Andrey Adaikin  <aandrey@chromium.org>
2542
2543         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
2544         https://bugs.webkit.org/show_bug.cgi?id=88973
2545
2546         Reviewed by Pavel Feldman.
2547
2548         Added the following protocol methods to communicate with the WebGL injected
2549         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
2550
2551         * inspector/CodeGeneratorInspector.py:
2552         * inspector/InjectedScriptWebGLModule.cpp:
2553         (WebCore::InjectedScriptWebGLModule::captureFrame):
2554         (WebCore):
2555         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
2556         (WebCore::InjectedScriptWebGLModule::getTraceLog):
2557         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
2558         * inspector/InjectedScriptWebGLModule.h:
2559         (InjectedScriptWebGLModule):
2560         * inspector/Inspector.json:
2561         * inspector/InspectorController.cpp:
2562         (WebCore::InspectorController::InspectorController):
2563         * inspector/InspectorWebGLAgent.cpp:
2564         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2565         (WebCore::InspectorWebGLAgent::dropTraceLog):
2566         (WebCore):
2567         (WebCore::InspectorWebGLAgent::captureFrame):
2568         (WebCore::InspectorWebGLAgent::getTraceLog):
2569         (WebCore::InspectorWebGLAgent::replayTraceLog):
2570         * inspector/InspectorWebGLAgent.h:
2571         (WebCore):
2572         (WebCore::InspectorWebGLAgent::create):
2573         (InspectorWebGLAgent):
2574
2575 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2576
2577         [TouchAdjustment] Adjust to word or selection
2578         https://bugs.webkit.org/show_bug.cgi?id=94449
2579
2580         Reviewed by Antonio Gomes.
2581
2582         Makes each separate word a separate subtarget when context menu triggers
2583         selections, and only the selected part of a partial selected node a 
2584         target when selections are not overridden.
2585
2586         Test: touchadjustment/context-menu-text-subtargets.html
2587
2588         * page/TouchAdjustment.cpp:
2589         (TouchAdjustment):
2590         (WebCore::TouchAdjustment::providesContextMenuItems):
2591         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
2592         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
2593         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
2594         (WebCore::TouchAdjustment::compileSubtargetList):
2595         (WebCore::findBestClickableCandidate):
2596         (WebCore::findBestContextMenuCandidate):
2597
2598 2012-08-20  Xan Lopez  <xlopez@igalia.com>
2599
2600         [GTK] Provide backwards compatible method for WebKitDOMWebKitNamedFlow::overflow
2601         https://bugs.webkit.org/show_bug.cgi?id=94464
2602
2603         Reviewed by Carlos Garcia Campos.
2604
2605         Provide a compatibility method to access the new 'overset'
2606         property through the old 'overflow' name in
2607         WebKitDOMWebKitNamedFlow. Note that trying to access it through
2608         g_object_get directly will give a runtime warning, since the
2609         property does not actually exist anymore; this is done purely to
2610         maintain API compatibility.
2611
2612         * bindings/gobject/WebKitDOMCustom.cpp:
2613         (webkit_dom_webkit_named_flow_get_overflow): add method.
2614         * bindings/gobject/WebKitDOMCustom.h:
2615
2616 2012-08-20  Sami Kyostila  <skyostil@chromium.org>
2617
2618         [chromium] Convert screen space scroll gestures to layer space
2619         https://bugs.webkit.org/show_bug.cgi?id=92499
2620
2621         Reviewed by James Robinson.
2622
2623         Scroll gestures should be converted from screen space to local layer space to
2624         correctly apply the scroll delta to page scaled and/or transformed layers.
2625         Visually this means that the scrolled content will always follow the user's
2626         finger for any "well-formed" layer transform.
2627
2628         Wheel scroll deltas will still be directly interpreted as local layer scroll
2629         coordinates.
2630
2631         We also adjust the logic for propagating ("bubbling") scroll events to parent
2632         layers. Previously a parent layer was allowed to scroll in the screen-space
2633         axis orthogonal to the direction the starting layer scrolled toward. For
2634         example if a vertically scrolling layer is scrolled diagonally down and right,
2635         the layer moves down and its parent to the right.
2636
2637         This patch generalizes this behavior to non-axis aligned transformed layers so
2638         that the scrolling direction of any parent is constrained to be perpendicular
2639         direction of movement of the starting layer. This makes the scrolling behavior
2640         of transformed layers physically plausible. For instance, assume a 45 degree
2641         rotated, vertically scrollable layer. Dragging your finger vertically
2642         (relative to the layer) scrolls the layer up and down, while horizontal
2643         movement results in the parent of the layer moving in a corresponding way.
2644
2645         Since generally users want to scroll a single layer in one direction, this
2646         patch also introduces a rule that if the resulting movement of a layer is
2647         within 45 degrees of the original scroll input, the bubbling process is
2648         stopped. This makes it possible to reliably scroll a single layer without
2649         affecting any of its parents.
2650
2651         Added new unit tests:
2652             CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
2653             CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
2654             CCLayerTreeHostImplTest.scrollScaledLayer
2655             CCMathUtilTest.smallestAngleBetweenVectors
2656             CCMathUtilTest.vectorProjection
2657
2658         * platform/graphics/chromium/cc/CCInputHandler.h:
2659         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2660         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2661         (WebCore::CCLayerTreeHostImpl::scrollBegin):
2662         (WebCore::scrollLayerWithScreenSpaceDelta):
2663         (WebCore):
2664         (WebCore::scrollLayerWithLocalDelta):
2665         (WebCore::CCLayerTreeHostImpl::scrollBy):
2666         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2667         (CCLayerTreeHostImpl):
2668         * platform/graphics/chromium/cc/CCMathUtil.cpp:
2669         (WebCore::CCMathUtil::smallestAngleBetweenVectors):
2670         (WebCore):
2671         (WebCore::CCMathUtil::projectVector):
2672         * platform/graphics/chromium/cc/CCMathUtil.h:
2673         (CCMathUtil):
2674
2675 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2676
2677         [GTK] Add API to set preferred languages to WebKit2 GTK+
2678         https://bugs.webkit.org/show_bug.cgi?id=90878
2679
2680         Unreviewed. Fix mac build.
2681
2682         * WebCore.exp.in: Export WebCore::languageDidChange().
2683
2684 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
2685
2686         Web Inspector: improve standalone test harness to allow attaching to inspector before test.
2687         https://bugs.webkit.org/show_bug.cgi?id=94426
2688
2689         Reviewed by Vsevolod Vlasov.
2690
2691         - User can not "Debug", attach inspector to the front-end and "Continue" test execution.
2692         - You can also assign filter from the query parameter.
2693
2694         * inspector/front-end/test-runner.html:
2695
2696 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
2697
2698         Web Inspector: load scripts panel lazily
2699         https://bugs.webkit.org/show_bug.cgi?id=94416
2700
2701         Reviewed by Vsevolod Vlasov.
2702
2703         - removes access to WebInspector.panels.scripts and loads it lazily.
2704         - extracts classes to their own files when classes residing in one file belong to different modules
2705         - removes StylesPanel.js in favor of the actual classes it contains 
2706
2707         * WebCore.gypi:
2708         * WebCore.vcproj/WebCore.vcproj:
2709         * WebCore.xcodeproj/project.pbxproj:
2710         * inspector/compile-front-end.py:
2711         * inspector/front-end/AdvancedSearchController.js:
2712         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
2713         * inspector/front-end/BreakpointsSidebarPane.js:
2714         * inspector/front-end/FilteredItemSelectionDialog.js:
2715         * inspector/front-end/InspectorFrontendAPI.js:
2716         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
2717         (InspectorFrontendAPI.setDebuggingEnabled):
2718         * inspector/front-end/NativeBreakpointsSidebarPane.js: Added.
2719         (WebInspector.NativeBreakpointsSidebarPane):
2720         (WebInspector.NativeBreakpointsSidebarPane.prototype._addListElement):
2721         (WebInspector.NativeBreakpointsSidebarPane.prototype._removeListElement):
2722         (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
2723         * inspector/front-end/ObjectPropertiesSection.js:
2724         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
2725         * inspector/front-end/ScriptSnippetModel.js:
2726         * inspector/front-end/ScriptsPanel.js:
2727         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
2728         * inspector/front-end/SnippetJavaScriptSourceFrame.js: Added.
2729         (WebInspector.SnippetJavaScriptSourceFrame):
2730         (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
2731         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
2732         * inspector/front-end/StyleSheetOutlineDialog.js: Added.
2733         (WebInspector.StyleSheetOutlineDialog):
2734         (WebInspector.StyleSheetOutlineDialog.show):
2735         (WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt):
2736         (WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt):
2737         (WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt):
2738         (WebInspector.StyleSheetOutlineDialog.prototype.itemsCount):
2739         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
2740         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
2741         (WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
2742         (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
2743         * inspector/front-end/StyleSource.js: Renamed from Source/WebCore/inspector/front-end/StylesPanel.js.
2744         (WebInspector.StylesUISourceCodeProvider):
2745         (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
2746         (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
2747         (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
2748         (WebInspector.StylesUISourceCodeProvider.prototype._populate):
2749         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
2750         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
2751         (WebInspector.StyleSource):
2752         (WebInspector.StyleSource.prototype.isEditable):
2753         (WebInspector.StyleSource.prototype.workingCopyCommitted):
2754         (WebInspector.StyleSource.prototype.workingCopyChanged):
2755         (WebInspector.StyleSource.prototype._callOrSetTimeout):
2756         (WebInspector.StyleSource.prototype._commitIncrementalEdit):
2757         (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
2758         (WebInspector.InspectorStyleSource):
2759         * inspector/front-end/WebKit.qrc:
2760         * inspector/front-end/inspector.html:
2761         * inspector/front-end/inspector.js:
2762         (WebInspector._panelDescriptors):
2763         (WebInspector._registerShortcuts):
2764         (WebInspector.documentKeyDown):
2765         (WebInspector._showAnchorLocation):
2766
2767 2012-08-20  Dominik Röttsches  <dominik.rottsches@intel.com>
2768
2769         [EFL] Get rid of pango backend support once harfbuzz-ng is working
2770         https://bugs.webkit.org/show_bug.cgi?id=92102
2771
2772         Reviewed by Kenneth Rohde Christiansen.
2773
2774         Removing support for Pango complex font rendering now that we HarfBuzz.
2775
2776         No new tests, no change in behavior.
2777
2778         * PlatformEfl.cmake: Removing Pango specific includes and libraries.
2779
2780 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
2781
2782         Web Inspector: prepare scripts panel to be lazily loaded
2783         https://bugs.webkit.org/show_bug.cgi?id=94423
2784
2785         Reviewed by Vsevolod Vlasov.
2786
2787         - makes scripts panel read workspace data upon creation
2788         - moves pause on script state management into the debugger model
2789         - updates frontend API to use debugger model, not scripts panel
2790
2791         * inspector/front-end/DebuggerModel.js:
2792         (WebInspector.DebuggerModel.prototype.debuggerEnabled):
2793         (WebInspector.DebuggerModel.prototype.disableDebugger):
2794         (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
2795         (WebInspector.DebuggerModel.prototype._pauseOnExceptionStateChanged):
2796         (WebInspector.DebuggerModel.prototype.get _debuggerWasDisabled):
2797         * inspector/front-end/InspectorFrontendAPI.js:
2798         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
2799         (InspectorFrontendAPI.setDebuggingEnabled):
2800         * inspector/front-end/ScriptsPanel.js:
2801         (WebInspector.ScriptsPanel):
2802         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
2803         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
2804         (WebInspector.ScriptsPanel.prototype._reset):
2805         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2806         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2807         (WebInspector.ScriptsPanel.prototype._enableDebugging):
2808         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
2809         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
2810         * inspector/front-end/inspector.js:
2811         (WebInspector.documentKeyDown):
2812
2813 2012-08-20  Robin Cao  <robin.cao@torchmobile.com.cn>
2814
2815         [BlackBerry] Adapt to changes in the platform media player API
2816         https://bugs.webkit.org/show_bug.cgi?id=94329
2817         PR #194237
2818
2819         Reviewed by Antonio Gomes.
2820
2821         The interface to platform's media player has changed from MMRPlayer
2822         to PlatformPlayer. This patch adapts to this change.
2823
2824         And we also decided to postpone the creation of PlatformPlayer until
2825         the loading started. This is needed because we may create different
2826         types of player for different media sources.
2827
2828         This is a refactor, no new tests.
2829
2830         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2831         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2832         (WebCore::MediaPlayerPrivate::supportsType):
2833         (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
2834         (WebCore::MediaPlayerPrivate::setCertificatePath):
2835         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2836         (WebCore::MediaPlayerPrivate::load):
2837         (WebCore::MediaPlayerPrivate::cancelLoad):
2838         (WebCore::MediaPlayerPrivate::prepareToPlay):
2839         (WebCore::MediaPlayerPrivate::play):
2840         (WebCore::MediaPlayerPrivate::pause):
2841         (WebCore::MediaPlayerPrivate::naturalSize):
2842         (WebCore::MediaPlayerPrivate::hasVideo):
2843         (WebCore::MediaPlayerPrivate::hasAudio):
2844         (WebCore::MediaPlayerPrivate::duration):
2845         (WebCore::MediaPlayerPrivate::currentTime):
2846         (WebCore::MediaPlayerPrivate::seek):
2847         (WebCore::MediaPlayerPrivate::setRate):
2848         (WebCore::MediaPlayerPrivate::paused):
2849         (WebCore::MediaPlayerPrivate::setVolume):
2850         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2851         (WebCore::MediaPlayerPrivate::buffered):
2852         (WebCore::MediaPlayerPrivate::paint):
2853         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
2854         (WebCore::MediaPlayerPrivate::movieLoadType):
2855         (WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
2856         (WebCore::MediaPlayerPrivate::updateStates):
2857         (WebCore):
2858         (WebCore::MediaPlayerPrivate::onStateChanged):
2859         (WebCore::MediaPlayerPrivate::onMediaStatusChanged):
2860         (WebCore::MediaPlayerPrivate::onError):
2861         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
2862         (WebCore::MediaPlayerPrivate::showErrorDialog):
2863         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
2864         (MediaPlayerPrivate):
2865
2866 2012-08-19  Kentaro Hara  <haraken@chromium.org>
2867
2868         [V8] Move contextDebugId() and setContextDebugId() from V8Proxy to ScriptController
2869         https://bugs.webkit.org/show_bug.cgi?id=94446
2870
2871         Reviewed by Adam Barth.
2872
2873         To kill V8Proxy, we can move contextDebugId() and setContextDebugId()
2874         from V8Proxy to ScriptController.
2875
2876         No tests. No change in behavior.
2877
2878         * bindings/v8/ScriptController.cpp:
2879         (WebCore::ScriptController::setContextDebugId):
2880         (WebCore):
2881         (WebCore::ScriptController::contextDebugId):
2882         * bindings/v8/ScriptController.h:
2883         (ScriptController):
2884         * bindings/v8/V8IsolatedContext.cpp:
2885         (WebCore::V8IsolatedContext::V8IsolatedContext):
2886         * bindings/v8/V8Proxy.cpp:
2887         * bindings/v8/V8Proxy.h:
2888         (V8Proxy):
2889
2890 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2891
2892         [V8] Move V8Proxy::newInstance() to V8ObjectConstructor
2893         https://bugs.webkit.org/show_bug.cgi?id=94443
2894
2895         Reviewed by Adam Barth.
2896
2897         To kill V8Proxy, this patch moves V8Proxy::newInstance() to
2898         V8ObjectConstructor::newInstanceInFrame().
2899         In addition, this patch does the following things:
2900
2901         - For consistency with V8ObjectConstructor::newInstanceInFrame(),
2902         this patch inserts an if(v8::V8::IsDead()) check to just after
2903         Function::NewInstance(). The check is done by V8Binding::assertIfV8IsDead().
2904
2905         - To avoid #include circular dependency, this patch de-inline
2906         V8ObjectConstructor::newInstance()s. I didn't observe any perf regression.
2907         I don't think these methods are worth being inlined, because
2908         these methods call Function::NewInstance(), which is not inlined
2909         and calls a bunch of heavy mehtods in V8.
2910
2911         No tests. No change in behavior.
2912
2913         * bindings/v8/NPV8Object.cpp:
2914         (_NPN_Construct):
2915         * bindings/v8/V8Binding.cpp:
2916         (WebCore::assertIfV8IsDead):
2917         (WebCore):
2918         * bindings/v8/V8Binding.h:
2919         (WebCore):
2920         * bindings/v8/V8ObjectConstructor.cpp:
2921         (WebCore::V8ObjectConstructor::newInstance):
2922         (WebCore):
2923         (WebCore::V8ObjectConstructor::newInstanceInFrame):
2924         * bindings/v8/V8ObjectConstructor.h:
2925         (WebCore):
2926         (V8ObjectConstructor):
2927         * bindings/v8/V8Proxy.cpp:
2928         (WebCore::V8Proxy::runScript):
2929         (WebCore::V8Proxy::instrumentedCallFunction):
2930
2931 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2932
2933         [V8] Move V8Proxy::m_extensions to ScriptController
2934         https://bugs.webkit.org/show_bug.cgi?id=94444
2935
2936         Reviewed by Adam Barth.
2937
2938         To kill V8Proxy, this patch moves V8Proxy::m_extensions to ScriptController.
2939         This patch also renames extensions() to registeredExtensions() for clarification.
2940
2941         No tests. No change in behavior.
2942
2943         * bindings/v8/ScriptController.cpp:
2944         (WebCore::ScriptController::registeredExtensions):
2945         (WebCore):
2946         (WebCore::ScriptController::registerExtensionIfNeeded):
2947         * bindings/v8/ScriptController.h:
2948         (WebCore):
2949         (ScriptController):
2950         * bindings/v8/V8DOMWindowShell.cpp:
2951         (WebCore::V8DOMWindowShell::createNewContext):
2952         * bindings/v8/V8Proxy.cpp:
2953         * bindings/v8/V8Proxy.h:
2954         (WebCore):
2955         (V8Proxy):
2956
2957 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
2958
2959         Web Inspector: toolbar causes 8 reflows upon opening
2960         https://bugs.webkit.org/show_bug.cgi?id=94422
2961
2962         Reviewed by Yury Semikhatsky.
2963
2964         Toolbar's overflow code causes inspector to do 8 reflows upon opening.
2965         Fixing it via introducing batch toolbar update.
2966
2967         * inspector/front-end/Toolbar.js:
2968         (WebInspector.Toolbar):
2969         (WebInspector.Toolbar.prototype.setCoalescingUpdate):
2970         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
2971         * inspector/front-end/inspector.css:
2972         (body.compact .toolbar-icon):
2973         (body.compact .toolbar-icon.custom-toolbar-icon):
2974         (body.compact .toolbar-item:active .toolbar-icon):
2975         (body.compact .toolbar-label):
2976         (body.compact .toolbar-item.resources .toolbar-icon):
2977         (body.compact .toolbar-item.network .toolbar-icon):
2978         (body.compact .toolbar-item.scripts .toolbar-icon):
2979         (body.compact .toolbar-item.timeline .toolbar-icon):
2980         (body.compact .toolbar-item.profiles .toolbar-icon):
2981         (body.compact .toolbar-item.audits .toolbar-icon):
2982         (body.compact .toolbar-item.console .toolbar-icon):
2983         * inspector/front-end/inspector.js:
2984         (WebInspector.get _setCompactMode):
2985         (WebInspector.windowResize):
2986
2987 2012-08-19  Kentaro Hara  <haraken@chromium.org>
2988
2989         [V8] Replace proxy()->windowShell() in ScriptController with windowShell()
2990         https://bugs.webkit.org/show_bug.cgi?id=94445
2991
2992         Reviewed by Adam Barth.
2993
2994         Now ScriptController owns windowShell. So ScriptController doesn't
2995         need to get windowShell through V8Proxy.
2996
2997         No tests. No change in behavior.
2998
2999         * bindings/v8/ScriptController.cpp:
3000         (WebCore::ScriptController::updateSecurityOrigin):
3001         (WebCore::ScriptController::haveInterpreter):
3002         (WebCore::ScriptController::enableEval):
3003         (WebCore::ScriptController::disableEval):
3004         (WebCore::ScriptController::updateDocument):
3005         (WebCore::ScriptController::namedItemAdded):
3006         (WebCore::ScriptController::namedItemRemoved):
3007
3008 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3009
3010         [V8] Move V8Proxy::callFunction() to ScriptController
3011         https://bugs.webkit.org/show_bug.cgi?id=94437
3012
3013         Reviewed by Adam Barth.
3014
3015         To kill V8Proxy, this patch moves callFunction() from V8Proxy to ScriptController.
3016
3017         No tests. No change in behavior.
3018
3019         * bindings/v8/DOMTransaction.cpp:
3020         (WebCore::DOMTransaction::callFunction):
3021         * bindings/v8/NPV8Object.cpp:
3022         (_NPN_Invoke):
3023         (_NPN_InvokeDefault):
3024         * bindings/v8/ScheduledAction.cpp:
3025         (WebCore::ScheduledAction::execute):
3026         * bindings/v8/ScheduledAction.h:
3027         (WebCore):
3028         (ScheduledAction):
3029         * bindings/v8/ScriptController.cpp:
3030         (WebCore::ScriptController::callFunction):
3031         (WebCore):
3032         (WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
3033         * bindings/v8/ScriptController.h:
3034         (ScriptController):
3035         * bindings/v8/V8EventListener.cpp:
3036         (WebCore::V8EventListener::callListenerFunction):
3037         * bindings/v8/V8LazyEventListener.cpp:
3038         (WebCore::V8LazyEventListener::callListenerFunction):
3039         * bindings/v8/V8Proxy.cpp:
3040         * bindings/v8/V8Proxy.h:
3041         (V8Proxy):
3042         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3043         (WebCore::V8HTMLDocument::openCallback):
3044
3045 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
3046
3047         [Forms] Set SpinButtonElement free from HTMLInputElement
3048         https://bugs.webkit.org/show_bug.cgi?id=93941
3049
3050         Reviewed by Kent Tamura.
3051
3052         This patch removes dependency to HTMLInputElement from SpinButtonElement.
3053
3054         Functionalities used to be calling HTMLInputElement functions are
3055         replaced to calling functions SpinButtonOwner class.
3056
3057         * html/TextFieldInputType.cpp:
3058         (WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
3059         (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Moved code from SpinButtonElement::willRespondToMouseClickEvents
3060         (WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents): Moved code from SpinButtonElement::forwardEvent
3061         * html/TextFieldInputType.h:
3062         (TextFieldInputType):
3063         * html/TimeInputType.cpp:
3064         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
3065         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Added for DateTimeEditElement::shouldSpinButtonRespondToWheelEvents.
3066         * html/TimeInputType.h:
3067         * html/shadow/DateTimeEditElement.cpp:
3068         (WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Added for SpinButtonElementOwner class change.
3069         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToMouseEvents): ditto
3070         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): ditto
3071         * html/shadow/DateTimeEditElement.h:
3072         (EditControlOwner): Added new virtual function declarations for SpinButtonElementOwner class change.
3073         (DateTimeEditElement): Added new function declarations for SpinButtonElementOwner.
3074         * html/shadow/SpinButtonElement.cpp:
3075         (WebCore::SpinButtonElement::defaultEventHandler): Changed to use SpinButtonElementOwner instead of HTMLInputElement.
3076         (WebCore::SpinButtonElement::forwardEvent): ditto
3077         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto
3078         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto
3079         (WebCore::SpinButtonElement::step): ditto
3080         (WebCore::SpinButtonElement::shouldRespondToMouseEvents): Added helper function for calling SpinButtonOwner instance.
3081         * html/shadow/SpinButtonElement.h:
3082         (SpinButtonOwner): Added new virtual function declarations.
3083         (SpinButtonElement):
3084
3085 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
3086
3087         [Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Mac
3088         https://bugs.webkit.org/show_bug.cgi?id=94439
3089
3090         Reviewed by Kent Tamura.
3091
3092         This patch disabled CSS selector for Firefox compatibility applied to
3093         multiple fields time input UI, because it is supposed to apply text
3094         field rather than multiple fields.
3095
3096         This patch allows us to have same appearance among Chromium-Linux,
3097         Mac and Win.
3098
3099         No new tests. Following existing tests cover this change:
3100           fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
3101           fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
3102           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
3103           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
3104           fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html
3105
3106         * css/themeWin.css: Exclude input[type="time"] selector if ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
3107         enabled.
3108
3109 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3110
3111         [V8] Rename SafeAllocation to V8ObjectConstructor
3112         https://bugs.webkit.org/show_bug.cgi?id=94436
3113
3114         Reviewed by Adam Barth.
3115
3116         For clarification.
3117
3118         No tests. No change in behavior.
3119
3120         * UseV8.cmake:
3121         * WebCore.gypi:
3122         * bindings/v8/ScriptFunctionCall.cpp:
3123         (WebCore::ScriptFunctionCall::construct):
3124         * bindings/v8/V8Binding.cpp:
3125         (WebCore::createRawTemplate):
3126         * bindings/v8/V8Binding.h:
3127         * bindings/v8/V8DOMWindowShell.cpp:
3128         (WebCore::V8DOMWindowShell::installDOMWindow):
3129         * bindings/v8/V8DOMWrapper.cpp:
3130         (WebCore::V8DOMWrapper::instantiateV8Object):
3131         * bindings/v8/V8NPObject.cpp:
3132         (WebCore::createV8ObjectForNPObject):
3133         * bindings/v8/V8ObjectConstructor.cpp: Renamed from Source/WebCore/bindings/v8/SafeAllocation.cpp.
3134         (WebCore):
3135         (WebCore::V8ObjectConstructor::isValidConstructorMode):
3136         * bindings/v8/V8ObjectConstructor.h: Renamed from Source/WebCore/bindings/v8/SafeAllocation.h.
3137         (WebCore):
3138         (ConstructorMode):
3139         (WebCore::ConstructorMode::ConstructorMode):
3140         (WebCore::ConstructorMode::~ConstructorMode):
3141         (WebCore::ConstructorMode::current):
3142         (V8ObjectConstructor):
3143         (WebCore::V8ObjectConstructor::newInstance):
3144         * bindings/v8/V8PerContextData.cpp:
3145         (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
3146         * bindings/v8/WorkerContextExecutionProxy.cpp:
3147         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3148         * bindings/v8/custom/V8InjectedScriptManager.cpp:
3149         (WebCore::createInjectedScriptHostV8Wrapper):
3150         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
3151         (WebCore::toV8):
3152         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
3153         (WebCore::toV8):
3154
3155 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3156
3157         [V8] Move m_windowShell from V8Proxy to ScriptController
3158         https://bugs.webkit.org/show_bug.cgi?id=94438
3159
3160         Reviewed by Adam Barth.
3161
3162         m_windowShell should be owned by ScriptController.
3163         After this change, I can move a bunch of V8Proxy methods
3164         that access windowShell() from V8Proxy to ScriptController.
3165
3166         No tests. No change in behavior.
3167
3168         * bindings/v8/ScriptController.cpp:
3169         (WebCore::ScriptController::ScriptController):
3170         * bindings/v8/ScriptController.h:
3171         (WebCore):
3172         (WebCore::ScriptController::windowShell):
3173         (ScriptController):
3174         * bindings/v8/V8Binding.h:
3175         * bindings/v8/V8Proxy.cpp:
3176         (WebCore::V8Proxy::V8Proxy):
3177         (WebCore::V8Proxy::windowShell):
3178         (WebCore):
3179         * bindings/v8/V8Proxy.h:
3180         (WebCore):
3181         (WebCore::V8Proxy::frame):
3182         (V8Proxy):
3183
3184 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
3185
3186         Do not allocate SQLiteDatabase's m_openErrorMessage until its needed
3187         https://bugs.webkit.org/show_bug.cgi?id=94434
3188
3189         Reviewed by Andreas Kling.
3190
3191         Previously, m_openErrorMessage was initialized from a static literal string whenever
3192         the database is not open.
3193
3194         This patch changes the way we use m_openErrorMessage to only allocate a string in the
3195         few cases where we need it. If there is no error message, we fallback to the previous
3196         default string.
3197
3198         The goal is to prevent allocating the string unless needed. That saves initialization time
3199         and memory.
3200
3201         * platform/sql/SQLiteDatabase.cpp:
3202         (WebCore::SQLiteDatabase::SQLiteDatabase):
3203         (WebCore::SQLiteDatabase::close):
3204         (WebCore::SQLiteDatabase::lastErrorMsg):
3205
3206 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
3207
3208         Use initialization from literal for HTML Input type names
3209         https://bugs.webkit.org/show_bug.cgi?id=94421
3210
3211         Reviewed by Kent Tamura.
3212
3213         AtomicString's initialization from literal is faster and use less memory.
3214
3215         * html/InputType.cpp:
3216         (WebCore::InputTypeNames::button):
3217         (WebCore::InputTypeNames::checkbox):
3218         (WebCore::InputTypeNames::color):
3219         (WebCore::InputTypeNames::date):
3220         (WebCore::InputTypeNames::datetime):
3221         (WebCore::InputTypeNames::datetimelocal):
3222         (WebCore::InputTypeNames::email):
3223         (WebCore::InputTypeNames::file):
3224         (WebCore::InputTypeNames::hidden):
3225         (WebCore::InputTypeNames::image):
3226         (WebCore::InputTypeNames::month):
3227         (WebCore::InputTypeNames::number):
3228         (WebCore::InputTypeNames::password):
3229         (WebCore::InputTypeNames::radio):
3230         (WebCore::InputTypeNames::range):
3231         (WebCore::InputTypeNames::reset):
3232         (WebCore::InputTypeNames::search):
3233         (WebCore::InputTypeNames::submit):
3234         (WebCore::InputTypeNames::telephone):
3235         (WebCore::InputTypeNames::text):
3236         (WebCore::InputTypeNames::time):
3237         (WebCore::InputTypeNames::url):
3238         (WebCore::InputTypeNames::week):
3239
3240 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
3241
3242         Remove the static Strings used for outputting values of CSS_ATTR, CSS_COUNTER, CSS_RECT
3243         https://bugs.webkit.org/show_bug.cgi?id=94420
3244
3245         Reviewed by Kentaro Hara.
3246
3247         Use the new StringBuilder::appendLiteral() instead of keeping some WTF::String in
3248         memory.
3249
3250         The patch reduces memory usage.
3251         It also reduces the binary size (-1672 bytes on x86_64).
3252         I did not measure any difference in performance.
3253
3254         * css/CSSPrimitiveValue.cpp:
3255         (WebCore::CSSPrimitiveValue::customCssText):
3256
3257 2012-08-19  Rik Cabanier  <cabanier@adobe.com>
3258
3259         parse CSS attribute -webkit-blend-mode
3260         https://bugs.webkit.org/show_bug.cgi?id=94024
3261  
3262         Reviewed by Dirk Schulze.
3263
3264         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
3265
3266         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
3267                css3/compositing/blend-mode-property-parsing.html
3268                css3/compositing/blend-mode-property.html
3269
3270         * css/CSSComputedStyleDeclaration.cpp:
3271         (WebCore):
3272         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3273         * css/CSSParser.cpp:
3274         (WebCore::isValidKeywordPropertyAndValue):
3275         (WebCore::isKeywordPropertyID):
3276         (WebCore::CSSParser::parseValue):
3277         * css/CSSProperty.cpp:
3278         (WebCore::CSSProperty::isInheritedProperty):
3279         * css/CSSPropertyNames.in:
3280         * css/CSSValueKeywords.in:
3281         * css/StyleBuilder.cpp:
3282         (WebCore::StyleBuilder::StyleBuilder):
3283         * rendering/RenderLayer.h:
3284         (RenderLayer):
3285         * rendering/RenderLayerBacking.cpp:
3286         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3287         (WebCore):
3288         (WebCore::RenderLayerBacking::updateLayerBlendMode):
3289         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3290         (WebCore::RenderLayerBacking::setBlendMode):
3291         * rendering/RenderLayerBacking.h:
3292         (RenderLayerBacking):
3293         * rendering/style/RenderStyle.cpp:
3294         (WebCore::RenderStyle::diff):
3295         * rendering/style/RenderStyle.h:
3296         * rendering/style/StyleRareNonInheritedData.cpp:
3297         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3298         (WebCore::StyleRareNonInheritedData::operator==):
3299         * rendering/style/StyleRareNonInheritedData.h:
3300         (StyleRareNonInheritedData):
3301
3302 2012-08-19  MORITA Hajime  <morrita@google.com>
3303
3304         DOM mutation against including <link> shouldn't trigger pending HTML parser.
3305         https://bugs.webkit.org/show_bug.cgi?id=93641
3306
3307         Reviewed by Ryosuke Niwa.
3308
3309         HTMLLinkElement::removedFrom() invoked Document::removePendingSheet(), which can trigger
3310         HTMLParser that can mutate DOM tree. DOM mutation reentrancy on like this is problematic and
3311         should be prohibited.
3312
3313         This change add an variation of Document::removePendingSheet() which postpones the notification
3314         which triggers DOM mutation, and flush such pending notifications at the end of ongoing mutation.
3315
3316         Test: http/tests/loading/remove-child-triggers-parser.html
3317
3318         * dom/ContainerNodeAlgorithms.h:
3319         (WebCore::ChildNodeRemovalNotifier::notify): Flushed pending notifications at the end.
3320         * dom/Document.cpp:
3321         (WebCore::Document::Document):
3322         (WebCore::Document::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
3323         (WebCore):
3324         (WebCore::Document::didRemoveAllPendingStylesheet): Extracted from removePendingSheet()
3325         * dom/Document.h:
3326         (Document):
3327         (WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet): A flag setter.
3328         (WebCore::Document::notifyRemovePendingSheetIfNeeded):
3329         (WebCore):
3330         * html/HTMLLinkElement.cpp:
3331         (WebCore::HTMLLinkElement::removedFrom): Switched to use "notification later" version of removePendingSheet()
3332         (WebCore::HTMLLinkElement::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
3333         * html/HTMLLinkElement.h:
3334
3335 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3336
3337         Remove RefPtr from HTMLProgressElement::m_value
3338         https://bugs.webkit.org/show_bug.cgi?id=94336
3339
3340         Reviewed by Kent Tamura.
3341
3342         To avoid reference cycles of RefPtr<Node>s, we want to remove
3343         unnecessary RefPtr<Node>s. The rationale is described in bug 94324.
3344
3345         HTMLProgressElement::m_value does not need to be a RefPtr<Node>, because
3346         it is guaranteed to point to a shadow DOM tree of the HTMLProgressElement
3347         node, which is guaranteed to exist in the subtree of the HTMLProgressElement node.
3348
3349         No tests. No change in behavior.
3350
3351         * html/HTMLProgressElement.cpp:
3352         (WebCore::HTMLProgressElement::HTMLProgressElement):
3353         (WebCore::HTMLProgressElement::createShadowSubtree):
3354         * html/HTMLProgressElement.h:
3355
3356 2012-08-19  Kentaro Hara  <haraken@chromium.org>
3357
3358         Remove RefPtr from SearchInputType::m_resultsButton and SearchInputType::m_cancelButton
3359         https://bugs.webkit.org/show_bug.cgi?id=94339
3360
3361         Reviewed by Kent Tamura.
3362
3363         To avoid reference cycles of RefPtr<Node>s, we want to remove unnecessary
3364         RefPtr<Node>s. The rationale is described in bug 94324.
3365
3366         SearchInputType::m_resultsButton and SearchInputType::m_cancelButton do not
3367         need to be RefPtr<Node>s, because they are guaranteed to point to the shadow
3368         DOM tree of the SearchInputType node, which is guaranteed to exist in the
3369         subtree of the SearchInputType node.
3370
3371         No tests. No change in behavior.
3372
3373         * html/SearchInputType.cpp:
3374         (WebCore::SearchInputType::SearchInputType):
3375         (WebCore::SearchInputType::createShadowSubtree):
3376         (WebCore::SearchInputType::resultsButtonElement):
3377         (WebCore::SearchInputType::cancelButtonElement):
3378         (WebCore::SearchInputType::destroyShadowSubtree):
3379         (WebCore::SearchInputType::subtreeHasChanged):
3380         * html/SearchInputType.h:
3381         (SearchInputType):
3382
3383 2012-08-19  Mike West  <mkwst@chromium.org>
3384
3385         CSP 1.1: Add 'plugin-types' and 'form-action' DOM API.
3386         https://bugs.webkit.org/show_bug.cgi?id=94415
3387
3388         Reviewed by Adam Barth.
3389
3390         Experimental implementations of the new 'plugin-types' and 'form-action'
3391         directives recently landed, but we neglected to add DOM API endpoints to
3392         query their state. Those APIs have been added to the specification[1],
3393         and this patch brings our implementation up to date.
3394
3395         Tests: http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction.html
3396                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype.html
3397
3398         * page/DOMSecurityPolicy.cpp:
3399         (isAllowed):
3400             As a drive-by, change a parameter from a KURL to a String to match
3401             the actual template. There's no reason to stringify an empty URL
3402             when we can just use an empty string instead.
3403         (isAllowedWithType):
3404             Call out to the ContentSecurityPolicy object to check the protected
3405             resource's ability to load a given media type.
3406         (WebCore::DOMSecurityPolicy::allowsFormAction):
3407             Call out to the ContentSecurityPolicy object to check the protected
3408             resource's ability to submit a form to the given URL.
3409         (WebCore):
3410         (WebCore::DOMSecurityPolicy::allowsPluginType):
3411             Pipes the plugin type through 'isAllowedWithType' for resolution.
3412         * page/DOMSecurityPolicy.h:
3413             Add the 'allowsPluginType' and 'allowsFormAction' methods.
3414         (DOMSecurityPolicy):
3415         * page/DOMSecurityPolicy.idl:
3416             Add the 'allowsPluginType' and 'allowsFormAction' methods.
3417
3418 2012-08-19  Pavel Feldman  <pfeldman@chromium.org>
3419
3420         Web Inspector: load network panel lazily
3421         https://bugs.webkit.org/show_bug.cgi?id=94414
3422
3423         Reviewed by Vsevolod Vlasov.
3424
3425         This change removes access to WebInspector.panels.network and loads it lazily.
3426
3427         * WebCore.gypi:
3428         * WebCore.xcodeproj/project.pbxproj:
3429         * inspector/front-end/ConsoleMessage.js:
3430         (WebInspector.ConsoleMessageImpl):
3431         (WebInspector.ConsoleMessageImpl.prototype.clone):
3432         * inspector/front-end/ConsoleModel.js:
3433         (WebInspector.ConsoleMessage.create):
3434         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
3435         * inspector/front-end/ConsoleView.js:
3436         (WebInspector.ConsoleMessage.create):
3437         * inspector/front-end/NetworkLog.js:
3438         (WebInspector.NetworkLog):
3439         (WebInspector.NetworkLog.prototype._onRequestStarted):
3440         (WebInspector.NetworkLog.prototype._onLoad):
3441         (WebInspector.NetworkLog.prototype.requestForId):
3442         * inspector/front-end/NetworkManager.js:
3443         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
3444         * inspector/front-end/NetworkPanel.js:
3445         (WebInspector.NetworkLogView):
3446         * inspector/front-end/ScriptSnippetModel.js:
3447         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
3448         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
3449         * inspector/front-end/externs.js:
3450         * inspector/front-end/inspector.html:
3451         * inspector/front-end/inspector.js:
3452         (WebInspector._panelDescriptors):
3453         (WebInspector._showAnchorLocation):
3454
3455 2012-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3456
3457         Unreviewed, rolling out r125976.
3458         http://trac.webkit.org/changeset/125976
3459         https://bugs.webkit.org/show_bug.cgi?id=94430
3460
3461         it does not fix build. (Requested by pfeldman on #webkit).
3462
3463         * GNUmakefile.am: