Implement UndoManager's item() method
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-22  Sukolsak Sakshuwong  <sukolsak@google.com>
2
3         Implement UndoManager's item() method
4         https://bugs.webkit.org/show_bug.cgi?id=94671
5
6         Reviewed by Ryosuke Niwa.
7
8         This patch implements UndoManager's item() method and its V8 custom binding.
9         We need to use custom binding here because we need to return user objects
10         that are stored in a hidden property of DOMTransaction wrappers, not returning
11         the wrappers themselves.
12
13         Test: editing/undomanager/undomanager-item.html
14
15         * bindings/js/JSUndoManagerCustom.cpp:
16         (WebCore::JSUndoManager::item):
17         (WebCore):
18         * bindings/v8/DOMTransaction.cpp:
19         (WebCore::DOMTransaction::data):
20         (WebCore):
21         (WebCore::DOMTransaction::setData):
22         (WebCore::DOMTransaction::getFunction):
23         * bindings/v8/DOMTransaction.h:
24         * bindings/v8/custom/V8UndoManagerCustom.cpp:
25         (WebCore::V8UndoManager::transactCallback):
26         (WebCore::V8UndoManager::itemCallback):
27         (WebCore):
28         * editing/UndoManager.cpp:
29         (WebCore::UndoManager::item):
30         (WebCore):
31         * editing/UndoManager.h:
32         (UndoManager):
33         * editing/UndoManager.idl:
34
35 2012-08-22  Dominic Mazzoni  <dmazzoni@google.com>
36
37         AX: Focusable elements without a role should not be ignored
38         https://bugs.webkit.org/show_bug.cgi?id=94302
39
40         Reviewed by Chris Fleizach.
41
42         Changes the accessibility logic so that a generic element that's focusable is
43         not ignored for accessibility, and returns its inner text as its title. That way
44         if you Tab to the element, a reasonable accessibility notification is generated.
45
46         One exception is the body element, because focusing the body is equivalent to
47         blurring the current focused element and does not result in a "focus" accessibility
48         notification.
49
50         Also fixes logic that determined if an element was contentEditable by making
51         sure it catches the case with no attribute value (e.g. <div contentEditable>),
52         which also implies contentEditable=true according to the spec.
53
54         Test: accessibility/focusable-div.html
55
56         * accessibility/AccessibilityRenderObject.cpp:
57         (WebCore):
58         (WebCore::nodeHasContentEditableAttributeSet):
59         (WebCore::AccessibilityRenderObject::title):
60         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
61
62 2012-08-22  Kentaro Hara  <haraken@chromium.org>
63
64         Unreviewed, rolling out r126383.
65         http://trac.webkit.org/changeset/126383
66         https://bugs.webkit.org/show_bug.cgi?id=82888
67
68         Chromium win build crash
69
70         * bindings/js/JSClipboardCustom.cpp:
71         (WebCore::JSClipboard::types):
72         * bindings/v8/custom/V8ClipboardCustom.cpp:
73         (WebCore::V8Clipboard::typesAccessorGetter):
74         * dom/Clipboard.h:
75         (Clipboard):
76         * platform/blackberry/ClipboardBlackBerry.cpp:
77         (WebCore::ClipboardBlackBerry::types):
78         * platform/blackberry/ClipboardBlackBerry.h:
79         (ClipboardBlackBerry):
80         * platform/chromium/ChromiumDataObject.cpp:
81         (WebCore::ChromiumDataObject::types):
82         * platform/chromium/ChromiumDataObject.h:
83         (ChromiumDataObject):
84         * platform/chromium/ClipboardChromium.cpp:
85         (WebCore::ClipboardChromium::types):
86         * platform/chromium/ClipboardChromium.h:
87         (ClipboardChromium):
88         * platform/efl/ClipboardEfl.cpp:
89         (WebCore::ClipboardEfl::types):
90         * platform/efl/ClipboardEfl.h:
91         (ClipboardEfl):
92         * platform/gtk/ClipboardGtk.cpp:
93         (WebCore::ClipboardGtk::types):
94         * platform/gtk/ClipboardGtk.h:
95         (ClipboardGtk):
96         * platform/mac/ClipboardMac.h:
97         (ClipboardMac):
98         * platform/mac/ClipboardMac.mm:
99         (WebCore::addHTMLClipboardTypesForCocoaType):
100         (WebCore::ClipboardMac::types):
101         * platform/qt/ClipboardQt.cpp:
102         (WebCore::ClipboardQt::types):
103         * platform/qt/ClipboardQt.h:
104         (ClipboardQt):
105         * platform/win/ClipboardWin.cpp:
106         (WebCore::addMimeTypesForFormat):
107         (WebCore::ClipboardWin::types):
108         * platform/win/ClipboardWin.h:
109         (ClipboardWin):
110         * platform/wx/ClipboardWx.cpp:
111         (WebCore::ClipboardWx::types):
112         * platform/wx/ClipboardWx.h:
113         (ClipboardWx):
114
115 2012-08-22  Kentaro Hara  <haraken@chromium.org>
116
117         [V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptController
118         https://bugs.webkit.org/show_bug.cgi?id=94770
119
120         Reviewed by Adam Barth.
121
122         Now m_isolatedWorlds and m_isolatedWorldSecurityOrigins of V8Proxy
123         are used by ScriptController only. We can move them to ScriptController.
124
125         No tests. No change in behavior.
126
127         * bindings/v8/ScriptController.cpp:
128         (WebCore::ScriptController::resetIsolatedWorlds):
129         (WebCore::ScriptController::evaluateInIsolatedWorld):
130         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
131         (WebCore::ScriptController::collectIsolatedContexts):
132         * bindings/v8/ScriptController.h:
133         (ScriptController):
134         * bindings/v8/V8Proxy.h:
135         (V8Proxy):
136
137 2012-08-22  Kentaro Hara  <haraken@chromium.org>
138
139         [V8] Move evaluate() from V8Proxy to ScriptController
140         https://bugs.webkit.org/show_bug.cgi?id=94768
141
142         Reviewed by Adam Barth.
143
144         To kill V8Proxy, we can move evaluate() from V8Proxy to ScriptController.
145
146         - Renamed evaluate() to compileAndRunScript() to avoid name conflict
147         with existing ScriptController::evaluate().
148
149         - Removed toV8Proxy() from NPV8Object, as it is no longer used.
150
151         No tests. No change in behavior.
152
153         * bindings/v8/NPV8Object.cpp:
154         (_NPN_EvaluateHelper):
155         * bindings/v8/ScheduledAction.cpp:
156         (WebCore::ScheduledAction::execute):
157         * bindings/v8/ScriptController.cpp:
158         (WebCore::ScriptController::compileAndRunScript):
159         (WebCore):
160         (WebCore::ScriptController::evaluate):
161         (WebCore::ScriptController::evaluateInIsolatedWorld):
162         * bindings/v8/ScriptController.h:
163         (ScriptController):
164         * bindings/v8/V8Proxy.cpp:
165         * bindings/v8/V8Proxy.h:
166
167 2012-08-22  Vineet Chaudhary  <rgf748@motorola.com>
168
169         Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>.
170         https://bugs.webkit.org/show_bug.cgi?id=82888
171
172         Reviewed by Kentaro Hara.
173
174         As part of removing custom bindings of types Array Clipboard::types() needs to return
175         Vector<String> than HashSet<String>
176
177         No new tests. Exixting test should pass with this change as no behavoural changes.
178
179         * bindings/js/JSClipboardCustom.cpp: Replace data type from HashSet<> to Vector<>.
180         (WebCore::JSClipboard::types):
181         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
182         (WebCore::V8Clipboard::typesAccessorGetter):
183         * dom/Clipboard.h: Ditto.
184         (Clipboard):
185         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
186         (WebCore::ClipboardBlackBerry::types):
187         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
188         (ClipboardBlackBerry):
189         * platform/chromium/ChromiumDataObject.cpp: Ditto.
190         (WebCore::ChromiumDataObject::types):
191         * platform/chromium/ChromiumDataObject.h: Ditto.
192         (ChromiumDataObject):
193         * platform/chromium/ClipboardChromium.cpp: Ditto.
194         (WebCore::ClipboardChromium::types):
195         * platform/chromium/ClipboardChromium.h: Ditto.
196         (ClipboardChromium):
197         * platform/efl/ClipboardEfl.cpp: Ditto.
198         (WebCore::ClipboardEfl::types):
199         * platform/efl/ClipboardEfl.h: Ditto.
200         (ClipboardEfl):
201         * platform/gtk/ClipboardGtk.cpp: Ditto.
202         (WebCore::ClipboardGtk::types):
203         * platform/gtk/ClipboardGtk.h: Ditto.
204         (ClipboardGtk):
205         * platform/mac/ClipboardMac.h: Ditto.
206         (ClipboardMac):
207         * platform/mac/ClipboardMac.mm: Ditto.
208         (WebCore::addHTMLClipboardTypesForCocoaType):
209         (WebCore::ClipboardMac::types):
210         * platform/qt/ClipboardQt.cpp: Ditto.
211         (WebCore::ClipboardQt::types):
212         * platform/qt/ClipboardQt.h: Ditto.
213         (ClipboardQt):
214         * platform/win/ClipboardWin.cpp: Ditto.
215         (WebCore::addMimeTypesForFormat):
216         (WebCore::ClipboardWin::types):
217         * platform/win/ClipboardWin.h: Ditto.
218         (ClipboardWin):
219         * platform/wx/ClipboardWx.cpp: Ditto.
220         (WebCore::ClipboardWx::types):
221         * platform/wx/ClipboardWx.h: Ditto.
222         (ClipboardWx):
223
224 2012-08-22  James Robinson  <jamesr@chromium.org>
225
226         [chromium] Change WebLayer from a concrete type to a pure virtual interface
227         https://bugs.webkit.org/show_bug.cgi?id=94174
228
229         Reviewed by Adrienne Walker.
230
231         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
232         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
233         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
234         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
235         m_transformLayer) and assembles the final layer tree.
236
237         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
238         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
239         (ScrollingCoordinatorPrivate):
240         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
241         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
242         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
243         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
244         (WebCore::scrollableLayerForGraphicsLayer):
245         (WebCore):
246         (WebCore::createScrollbarLayer):
247         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
248         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
249         (WebCore::ScrollingCoordinator::setScrollLayer):
250         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
251         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
252         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
253         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
254         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
255         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
256         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
257         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
258         (WebCore::Canvas2DLayerBridge::prepareForDraw):
259         (WebCore::Canvas2DLayerBridge::layer):
260         (WebCore::Canvas2DLayerBridge::contextAcquired):
261         * platform/graphics/chromium/Canvas2DLayerBridge.h:
262         (Canvas2DLayerBridge):
263         * platform/graphics/chromium/DrawingBufferChromium.cpp:
264         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
265         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
266         (WebCore::DrawingBufferPrivate::layer):
267         (DrawingBufferPrivate):
268         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
269         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
270         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
271         (WebCore::GraphicsLayerChromium::willBeDestroyed):
272         (WebCore::GraphicsLayerChromium::updateNames):
273         (WebCore::GraphicsLayerChromium::removeFromParent):
274         (WebCore::GraphicsLayerChromium::setSize):
275         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
276         (WebCore::GraphicsLayerChromium::setContentsOpaque):
277         (WebCore::GraphicsLayerChromium::setFilters):
278         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
279         (WebCore::GraphicsLayerChromium::setMaskLayer):
280         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
281         (WebCore::GraphicsLayerChromium::setOpacity):
282         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
283         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
284         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
285         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
286         (WebCore::GraphicsLayerChromium::setContentsToImage):
287         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
288         (WebCore):
289         (WebCore::GraphicsLayerChromium::setContentsToMedia):
290         (WebCore::GraphicsLayerChromium::setContentsTo):
291         (WebCore::GraphicsLayerChromium::addAnimation):
292         (WebCore::GraphicsLayerChromium::pauseAnimation):
293         (WebCore::GraphicsLayerChromium::removeAnimation):
294         (WebCore::GraphicsLayerChromium::suspendAnimations):
295         (WebCore::GraphicsLayerChromium::resumeAnimations):
296         (WebCore::GraphicsLayerChromium::platformLayer):
297         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
298         (WebCore::GraphicsLayerChromium::setDebugBorder):
299         (WebCore::GraphicsLayerChromium::updateChildList):
300         (WebCore::GraphicsLayerChromium::updateLayerPosition):
301         (WebCore::GraphicsLayerChromium::updateLayerSize):
302         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
303         (WebCore::GraphicsLayerChromium::updateTransform):
304         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
305         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
306         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
307         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
308         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
309         (WebCore::GraphicsLayerChromium::updateContentsRect):
310         (WebCore::GraphicsLayerChromium::updateContentsScale):
311         (WebCore::GraphicsLayerChromium::setupContentsLayer):
312         * platform/graphics/chromium/GraphicsLayerChromium.h:
313         (GraphicsLayerChromium):
314         (WebCore::GraphicsLayerChromium::hasContentsLayer):
315         (WebCore::GraphicsLayerChromium::contentLayer):
316         (WebCore::GraphicsLayerChromium::contentsLayer):
317         * platform/graphics/chromium/LayerChromium.cpp:
318         (WebCore::LayerChromium::rootLayer):
319         * platform/graphics/chromium/LayerChromium.h:
320
321 2012-08-22  Kentaro Hara  <haraken@chromium.org>
322
323         [V8] Move runScript() from V8Proxy to ScriptRunner
324         https://bugs.webkit.org/show_bug.cgi?id=94706
325
326         Reviewed by Adam Barth.
327
328         To kill V8Proxy, we can move runScript() from V8Proxy to ScriptRunner.
329
330         - ScriptRunner::runScript() should be a static method.
331         It should receive ScriptExecutionContext on which the script is evaluated.
332
333         - After this patch is landed, I'll remove WorkerContextExecutionContext::runScript()
334         and ScriptDebugServer::runScript().
335
336         No tests. No change in behavior.
337
338         * UseV8.cmake:
339         * WebCore.gypi:
340         * bindings/v8/ScriptController.cpp:
341         * bindings/v8/ScriptRunner.cpp: Added.
342         (WebCore):
343         (WebCore::ScriptRunner::runScript):
344         * bindings/v8/ScriptRunner.h: Added.
345         (WebCore):
346         (ScriptRunner):
347         * bindings/v8/V8Binding.cpp:
348         (WebCore::handleMaxRecursionDepthExceeded):
349         (WebCore):
350         * bindings/v8/V8Binding.h:
351         (WebCore):
352         * bindings/v8/V8Proxy.cpp:
353         (WebCore::V8Proxy::evaluate):
354         * bindings/v8/V8Proxy.h:
355         (V8Proxy):
356
357 2012-08-22  Adam Barth  <abarth@webkit.org>
358
359         [V8] OwnHandle doesn't need to support weak handles
360         https://bugs.webkit.org/show_bug.cgi?id=94760
361
362         Reviewed by Kentaro Hara.
363
364         No code uses makeWeak(). We can drop support for it and simplify this
365         class.
366
367         * bindings/v8/OwnHandle.h:
368         (WebCore):
369         (OwnHandle):
370         (WebCore::OwnHandle::OwnHandle):
371         (WebCore::OwnHandle::~OwnHandle):
372         (WebCore::OwnHandle::get):
373         (WebCore::OwnHandle::set):
374         (WebCore::OwnHandle::clear):
375
376 2012-08-22  Kentaro Hara  <haraken@chromium.org>
377
378         [V8] Remove V8Proxy from getXPathNSResolver()
379         https://bugs.webkit.org/show_bug.cgi?id=94715
380
381         Reviewed by Adam Barth.
382
383         - The V8Proxy* argument of getXPathNSResolver(..., V8Proxy* = 0) is not used.
384           We can remove it.
385
386         - We can rename getXPathNSResolver() to toXPathNSResolver().
387
388         - We can move toXPathNSResolver() from V8DOMWrapper to V8Binding,
389           since other toXXX() methods are written in V8Binding.
390
391         - Change the return value of toXPathNSResolver() from RefPtr to PassRefPtr.
392
393         No tests. No change in behavior.
394
395         * bindings/scripts/CodeGeneratorV8.pm:
396         (JSValueToNative):
397         * bindings/v8/V8Binding.cpp:
398         (WebCore::toXPathNSResolver):
399         (WebCore):
400         * bindings/v8/V8Binding.h:
401         (WebCore):
402         * bindings/v8/V8DOMWrapper.cpp:
403         * bindings/v8/V8DOMWrapper.h:
404         (V8DOMWrapper):
405         * bindings/v8/custom/V8DocumentCustom.cpp:
406         (WebCore::V8Document::evaluateCallback):
407
408 2012-08-22  Kenneth Russell  <kbr@google.com>
409
410         Unreviewed, rolling out r126325.
411         http://trac.webkit.org/changeset/126325
412         https://bugs.webkit.org/show_bug.cgi?id=94644
413
414         Caused subtle but reproducible failure to call onload handler
415         properly in an SVG layout test in Chromium Mac Debug builds,
416         indicating potentially larger problem
417
418         * css/CSSFontSelector.cpp:
419         (WebCore::CSSFontSelector::beginLoadTimerFired):
420         * loader/cache/CachedResourceLoader.cpp:
421         (WebCore::CachedResourceLoader::decrementRequestCount):
422
423 2012-08-22  Victor Carbune  <victor@rosedu.org>
424
425         Display a TextTrackCue when snap-to-lines flag is set
426         https://bugs.webkit.org/show_bug.cgi?id=79751
427
428         Reviewed by Tony Chang.
429
430         This patch implements rendering functionality for a given text track,
431         following closer the exact WebVTT specification. There are two new classes
432         which have been added in order to succesfully cover rendering when of a text
433         track cue.
434
435         RenderTextTrackCue handles the specific rendering algorithm required,
436         by checking for overlaps with other boxes that are in the same
437         container (these can be any other boxes, not necessarily other cues,
438         the video controls, for example).
439
440         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
441         between the renderer class and the actual cue object. Its purpose is
442         to instantiate the particular renderer and cover all the default CSS
443         styling that needs to be applied to the cue.
444
445         The layout is done in two steps:
446           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
447         the TextTrackCueBox decorated with the respective CSS elements)
448           - Step 2: RenderTextTrackCue adjusts the box position depending on the
449         parameters of the TextTrackCue object and the overlaps that may occur with
450         previously positioned cues.
451
452         Tests: media/track/track-cue-rendering-horizontal.html
453                media/track/track-cue-rendering-vertical.html
454
455         * CMakeLists.txt: Updated to include RenderTextTrackCue.
456         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
457         * Target.pri: Updated to include RenderTextTrackCue.
458         * WebCore.gypi: Updated to include RenderTextTrackCue.
459         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
460         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
461         * css/mediaControls.css: Removed unreliable CSS.
462         (video::-webkit-media-text-track-display): Removed properties.
463         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
464         (RenderTextTrackContainerElement):
465         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
466         the function by moving the check if track is rendered in TextTrack and used
467         the TextTrackCueBox for cues.
468         * html/track/TextTrack.cpp: Added a new method.
469         (WebCore::TextTrack::isRendered): Method that returns whether the track should
470         be rendered or not.
471         (WebCore):
472         * html/track/TextTrack.h: Added the isRendered method.
473         (TextTrack):
474         * html/track/TextTrackCue.cpp: Added several helper methods and
475         the TextTrackCueBox.
476         (WebCore):
477         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
478         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
479         and TextTrackCue. This is required as the layout is done in two steps, as
480         explained on top of the ChangeLog entry.
481         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
482         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
483         properties, as defined by section 3.5.1 of the WebVTT specification.
484         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
485         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
486         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
487         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
488         position algorithm. This requires, however, a method to consider only rendered
489         tracks (and therefore will be addressed completely in subsequent changeset).
490         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
491         computed display parameters to match the current specification.
492         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
493         and moved CSS application to the respective class.
494         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
495         situation this method is used and change visibility to private.
496         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
497         to the cue writing mode.
498         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
499         writing direction.
500         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
501         used in the first layout step.
502         * html/track/TextTrackCue.h:
503         (WebCore):
504         (TextTrackCueBox):
505         (WebCore::TextTrackCueBox::create): Initialization method.
506         (TextTrackCue):
507         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
508         values used to represent the writing direction.
509         * rendering/RenderTextTrackCue.cpp: Added.
510         (WebCore):
511         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
512         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
513         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
514         case. It is implemented following closely the spec, and might be subject to
515         change as discussions on various bugs evolve.
516         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
517         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
518         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
519         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
520         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
521         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
522         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
523         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
524         for text track cue when the snap to lines flag is set.
525         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
526         for text track cue when the snap to lines flag is not set. Not implemented yet.
527         * rendering/RenderTextTrackCue.h: Added.
528         (WebCore):
529         (RenderTextTrackCue): Rendering class, handling the display of cues.
530
531 2012-08-21  Kentaro Hara  <haraken@chromium.org>
532
533         [V8] Move matchesCurrentContext() from V8Proxy to ScriptController
534         https://bugs.webkit.org/show_bug.cgi?id=94596
535
536         Reviewed by Adam Barth.
537
538         To kill V8Proxy:
539
540         - We can move matchesCurrentContext() from V8Proxy to ScriptController.
541         - We can remove V8Proxy::isolatedWorldContext() since it is not used by anybody.
542         - We can remove V8Proxy::finishedWithEvent() since it is empty.
543
544         No tests. No change in behavior.
545
546         * bindings/scripts/CodeGeneratorV8.pm:
547         (GenerateToV8Converters):
548         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
549         (WebCore::V8TestActiveDOMObject::wrapSlow):
550         * bindings/scripts/test/V8/V8TestNode.cpp:
551         (WebCore::V8TestNode::wrapSlow):
552         * bindings/v8/ScriptController.cpp:
553         (WebCore::ScriptController::finishedWithEvent):
554         (WebCore::ScriptController::matchesCurrentContext):
555         (WebCore):
556         * bindings/v8/ScriptController.h:
557         (ScriptController):
558         * bindings/v8/V8Proxy.cpp:
559         * bindings/v8/V8Proxy.h:
560         (V8Proxy):
561
562 2012-08-22  Alejandro PiƱeiro  <apinheiro@igalia.com>
563
564         [Gtk] Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
565         https://bugs.webkit.org/show_bug.cgi?id=73819
566
567         Reviewed by Chris Fleizach.
568
569         Added a new role, Toggle Button, based on whether aria-pressed is present.
570         http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed
571
572         Test: platform/gtk/accessibility/aria-toggle-button-role.html
573
574         * accessibility/AccessibilityNodeObject.cpp:
575         (WebCore::AccessibilityNodeObject::determineAccessibilityRole): using buttonRoleType
576         to classify a button-related role.
577         (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute): using buttonRoleType
578         to classify a button-related role.
579         * accessibility/AccessibilityObject.cpp:
580         (WebCore::AccessibilityObject::ariaPressedIsPresent): checks if aria-pressed
581         attribute is present.
582         (WebCore::AccessibilityObject::buttonRoleType): returns a specific button-related
583         role if the object is a button-related role.
584         * accessibility/AccessibilityObject.h:
585         (AccessibilityObject): added new role ToggleButtonRole.
586         * accessibility/AccessibilityRenderObject.cpp:
587         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): using buttonRoleType
588         to classify a button-related role.
589         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
590         (atkRole): added a mapping between ToggleButtonRole and
591         ATK_ROLE_TOGGLE_BUTTON.
592         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
593         (createAccessibilityRoleMap): added a mapping between
594         ToggleButtonRole and NSAccessibilityButtonRole
595
596 2012-08-22  David Grogan  <dgrogan@chromium.org>
597
598         IndexedDB: revert int version when version change transaction aborts
599         https://bugs.webkit.org/show_bug.cgi?id=94662
600
601         Reviewed by Tony Chang.
602
603         Test: storage/indexeddb/intversion-revert-on-abort.html
604
605         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
606         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
607         (WebCore::IDBDatabaseBackendImpl::resetIntVersion):
608         One-liner modeled after resetVersion.
609
610         (WebCore):
611         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
612         (IDBDatabaseBackendImpl):
613
614 2012-08-17  Jeffrey Pfau  <jpfau@apple.com>
615
616         Allow blocking of Web SQL databases in third-party web workers
617         https://bugs.webkit.org/show_bug.cgi?id=94170
618
619         Reviewed by Adam Barth.
620
621         Web workers did not previously know anything about the document that
622         spawned them. This is undefined for shared workers, but for dedicated
623         workers, we now pipe the information through.
624
625         Tests: http/tests/security/cross-origin-worker-websql-allowed.html
626                http/tests/security/cross-origin-worker-websql.html
627
628         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Pass information about the top origin to canAccessDatabase
629         (WebCore::WorkerContextWebDatabase::openDatabase):
630         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
631         * WebCore.exp.in: Make SecurityOrigin::isolatedCopy const
632         * page/SecurityOrigin.cpp:
633         (WebCore::SecurityOrigin::isolatedCopy):
634         (WebCore::SecurityOrigin::canAccessStorage):
635         * page/SecurityOrigin.h:
636         * workers/DedicatedWorkerContext.cpp: Pass topOrigin
637         (WebCore::DedicatedWorkerContext::create):
638         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
639         * workers/DedicatedWorkerContext.h:
640         (DedicatedWorkerContext):
641         * workers/DedicatedWorkerThread.cpp: Pass topOrigin
642         (WebCore::DedicatedWorkerThread::create):
643         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
644         (WebCore::DedicatedWorkerThread::createWorkerContext):
645         * workers/DedicatedWorkerThread.h:
646         (DedicatedWorkerThread):
647         * workers/SharedWorkerContext.cpp: Pass topOrigin
648         (WebCore::SharedWorkerContext::SharedWorkerContext):
649         * workers/SharedWorkerThread.cpp:
650         (WebCore::SharedWorkerThread::SharedWorkerThread):
651         (WebCore::SharedWorkerThread::createWorkerContext):
652         * workers/SharedWorkerThread.h:
653         (SharedWorkerThread): Pass topOrigin
654         * workers/WorkerContext.cpp:
655         (WebCore::WorkerContext::WorkerContext):
656         * workers/WorkerContext.h:
657         (WebCore::WorkerContext::topOrigin):
658         (WorkerContext):
659         * workers/WorkerMessagingProxy.cpp: Pass topOrigin
660         (WebCore::WorkerMessagingProxy::startWorkerContext):
661         * workers/WorkerThread.cpp:
662         (WebCore::WorkerThreadStartupData::create):
663         (WorkerThreadStartupData):
664         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
665         (WebCore::WorkerThread::WorkerThread):
666         (WebCore::WorkerThread::workerThread):
667         * workers/WorkerThread.h:
668         (WorkerThread):
669
670 2012-08-22  Kentaro Hara  <haraken@chromium.org>
671
672         [V8] Move context() from V8Proxy to ScriptController
673         https://bugs.webkit.org/show_bug.cgi?id=94593
674
675         Reviewed by Adam Barth.
676
677         - This patch removes V8Proxy::context(Frame*).
678         - This patch moves V8Proxy::context() to ScriptController::context().
679         - This patch renames ScriptController::context() to ScriptController::currentWorldContext(),
680         for naming consistency with ScriptController::maintWorldContext().
681
682         No tests. No change in behavior.
683
684         * bindings/scripts/CodeGeneratorV8.pm:
685         (GenerateToV8Converters):
686         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
687         (WebCore::V8TestActiveDOMObject::wrapSlow):
688         * bindings/scripts/test/V8/V8TestNode.cpp:
689         (WebCore::V8TestNode::wrapSlow):
690         * bindings/v8/ScriptController.cpp:
691         (WebCore::ScriptController::context):
692         (WebCore):
693         * bindings/v8/ScriptController.h:
694         (ScriptController):
695         * bindings/v8/V8DOMWrapper.cpp:
696         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
697         * bindings/v8/V8Proxy.cpp:
698         * bindings/v8/V8Proxy.h:
699         (V8Proxy):
700         * bindings/v8/custom/V8DOMWindowCustom.cpp:
701         (WebCore::WindowSetTimeoutImpl):
702         (WebCore::V8DOMWindow::eventAccessorGetter):
703         (WebCore::V8DOMWindow::eventAccessorSetter):
704         (WebCore::DialogHandler::dialogCreated):
705         (WebCore::toV8):
706         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
707         (WebCore::V8HTMLDocument::openCallback):
708
709 2012-08-22  Kentaro Hara  <haraken@chromium.org>
710
711         [V8] Remove V8Proxy from V8DOMWrapper::instantiateV8Object()
712         https://bugs.webkit.org/show_bug.cgi?id=94713
713
714         Reviewed by Adam Barth.
715
716         To kill V8Proxy, V8DOMWrapper::instantiateV8Object() should receive Frame*
717         instead of V8Proxy*.
718
719         No tests. No change in behavior.
720
721         * bindings/scripts/CodeGeneratorV8.pm:
722         (GenerateToV8Converters):
723         * bindings/scripts/test/V8/V8Float64Array.cpp:
724         (WebCore::V8Float64Array::wrapSlow):
725         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
726         (WebCore::V8TestActiveDOMObject::wrapSlow):
727         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
728         (WebCore::V8TestCustomNamedGetter::wrapSlow):
729         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
730         (WebCore::V8TestEventConstructor::wrapSlow):
731         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
732         (WebCore::V8TestEventTarget::wrapSlow):
733         * bindings/scripts/test/V8/V8TestException.cpp:
734         (WebCore::V8TestException::wrapSlow):
735         * bindings/scripts/test/V8/V8TestInterface.cpp:
736         (WebCore::V8TestInterface::wrapSlow):
737         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
738         (WebCore::V8TestMediaQueryListListener::wrapSlow):
739         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
740         (WebCore::V8TestNamedConstructor::wrapSlow):
741         * bindings/scripts/test/V8/V8TestNode.cpp:
742         (WebCore::V8TestNode::wrapSlow):
743         * bindings/scripts/test/V8/V8TestObj.cpp:
744         (WebCore::V8TestObj::wrapSlow):
745         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
746         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
747         * bindings/v8/V8DOMWrapper.cpp:
748         (WebCore):
749         (WebCore::V8DOMWrapper::instantiateV8Object):
750         * bindings/v8/V8DOMWrapper.h:
751         (V8DOMWrapper):
752
753 2012-08-22  Joshua Bell  <jsbell@chromium.org>
754
755         IndexedDB: IDBRequest can be destructed during abort
756         https://bugs.webkit.org/show_bug.cgi?id=94618
757
758         Reviewed by Tony Chang.
759
760         If there are no script references, an IDBRequest could be kept alive
761         only by enqueued events. On document destruction, the parent transaction
762         is aborted, which aborts the request. During the abort, the enqueued events
763         are deleted, releasing the last reference to the IDBRequest which then
764         destructs in mid-method call and an "unfinished" state, hitting an assert.
765
766         This patch keeps the IDBRequest alive through the completion of the abort()
767         method, which will enqueue another event. In the document destruction case,
768         this will end up with the IDBRequest having stop() called on it which will
769         send the IDBRequest into EarlyDeath state, satisfying the destructor assert.
770
771         Addresses existing layout tests that behave flakily in Chromium port.
772
773         * Modules/indexeddb/IDBRequest.cpp:
774         (WebCore::IDBRequest::abort):
775
776 2012-08-22  Kentaro Hara  <haraken@chromium.org>
777
778         [V8] Move precompileScript() from V8Proxy to ScriptSourceCode
779         https://bugs.webkit.org/show_bug.cgi?id=94701
780
781         Reviewed by Adam Barth.
782
783         To kill V8Proxy, we can move precompileScript() from V8Proxy
784         to ScriptSourceCode.
785
786         No tests. No change in behavior.
787
788         * bindings/v8/ScriptSourceCode.cpp:
789         (WebCore::ScriptSourceCode::precompileScript):
790         (WebCore):
791         * bindings/v8/ScriptSourceCode.h:
792         (ScriptSourceCode):
793         * bindings/v8/V8Proxy.cpp:
794         (WebCore::V8Proxy::evaluate):
795         * bindings/v8/V8Proxy.h:
796         (V8Proxy):
797
798 2012-08-22  Nikhil Bhargava  <nbhargava@google.com>
799
800         Reduce Font.h includes across project -- improves RenderObject.h compile time
801         https://bugs.webkit.org/show_bug.cgi?id=93629
802
803         Reviewed by Eric Seidel.
804
805         RenderStyle.h no longer depends on Font.h. The files that transitively
806         need to be updated with proper includes are fixed.
807
808         No new tests. Functionality should remain the same.
809
810         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
811         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
812         * bindings/objc/DOM.mm:
813         * css/CSSComputedStyleDeclaration.cpp:
814         * css/CSSPrimitiveValue.cpp:
815         * css/StyleResolver.h:
816         * dom/CharacterData.cpp:
817         * dom/ElementRareData.h:
818         * dom/NodeRenderingContext.cpp:
819         * dom/Text.cpp:
820         * editing/TextIterator.cpp:
821         * editing/mac/EditorMac.mm:
822         * html/HTMLTitleElement.cpp:
823         * html/shadow/TextControlInnerElements.cpp:
824         * inspector/InspectorOverlay.cpp:
825         * page/ContextMenuController.cpp:
826         * page/PrintContext.cpp:
827         * platform/efl/RenderThemeEfl.cpp:
828         * platform/graphics/FontMetrics.h:
829         * platform/gtk/RenderThemeGtk.cpp:
830         * platform/gtk/RenderThemeGtk2.cpp:
831         * platform/mac/HTMLConverter.mm:
832         * rendering/EllipsisBox.cpp:
833         * rendering/FlowThreadController.cpp:
834         * rendering/InlineBox.cpp:
835         * rendering/InlineFlowBox.cpp:
836         * rendering/InlineFlowBox.h:
837         (WebCore):
838         * rendering/RenderButton.cpp:
839         * rendering/RenderCombineText.cpp:
840         * rendering/RenderCombineText.h:
841         * rendering/RenderDeprecatedFlexibleBox.cpp:
842         * rendering/RenderEmbeddedObject.h:
843         (WebCore):
844         * rendering/RenderFileUploadControl.cpp:
845         * rendering/RenderFullScreen.h:
846         * rendering/RenderImage.cpp:
847         * rendering/RenderInline.cpp:
848         * rendering/RenderListItem.cpp:
849         * rendering/RenderListMarker.cpp:
850         * rendering/RenderMultiColumnBlock.cpp:
851         * rendering/RenderRegion.h:
852         * rendering/RenderRuby.cpp:
853         * rendering/RenderRubyRun.cpp:
854         * rendering/RenderScrollbar.cpp:
855         * rendering/RenderTable.cpp:
856         * rendering/RenderTableCell.cpp:
857         * rendering/RenderTableRow.cpp:
858         * rendering/RenderTableSection.cpp:
859         * rendering/RenderTextControl.cpp:
860         * rendering/RenderTextControlMultiLine.cpp:
861         * rendering/RenderThemeChromiumSkia.cpp:
862         * rendering/RenderView.cpp:
863         * rendering/TextAutosizer.cpp:
864         * rendering/mathml/RenderMathMLBlock.h:
865         * rendering/style/KeyframeList.h:
866         * rendering/style/RenderStyle.cpp:
867         * rendering/style/RenderStyle.h:
868         (WebCore):
869         * rendering/style/StyleInheritedData.cpp:
870         * rendering/svg/RenderSVGBlock.cpp:
871         * rendering/svg/RenderSVGInlineText.h:
872         * svg/SVGLengthContext.cpp:
873         * svg/SVGTRefElement.cpp:
874
875 2012-08-22  Alex Christensen  <alex.christensen@flexsim.com>
876         win64 compile error fix for BinaryPropertyList.cpp
877         https://bugs.webkit.org/show_bug.cgi?id=94122
878
879         Reviewed by Eric Seidel.
880
881         Fixed compile errors for MSVC x64 without changing performance
882
883         * platform/cf/BinaryPropertyList.cpp:
884         (WebCore::BinaryPropertyListSerializer::appendStringObject):
885
886 2012-08-22  Kwang Yul Seo  <skyul@company100.net>
887
888         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
889         https://bugs.webkit.org/show_bug.cgi?id=93857
890
891         Reviewed by Eric Seidel.
892
893         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to
894         HTMLElementStack because it traverses the element stack and finds the
895         furthest block for the given formatting element.
896
897         Currently, it belongs to HTMLTreeBuilder just because
898         isSpecialNode(const HTMLStackItem*) function used by
899         furthestBlockForFormattingElement is internal to HTMLTreeBuilder.
900
901         Moved isSpecialNode to HTMLStackItem and changed
902         furthestBlockForFormattingElement to be a method of HTMLElementStack.
903
904         No behavior change. Just a refactoring.
905
906         * html/parser/HTMLElementStack.cpp:
907         (WebCore):
908         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
909         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
910         (WebCore::HTMLElementStack::furthestBlockForFormattingElement):
911         * html/parser/HTMLElementStack.h:
912         (HTMLElementStack):
913         * html/parser/HTMLStackItem.h:
914         (WebCore::HTMLStackItem::isInHTMLNamespace):
915         (HTMLStackItem):
916         (WebCore::HTMLStackItem::isNumberedHeaderElement):
917         (WebCore::HTMLStackItem::isTableBodyContextElement):
918         (WebCore::HTMLStackItem::isSpecialNode):
919         * html/parser/HTMLTreeBuilder.cpp:
920         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
921         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
922         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
923         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
924         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
925         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
926         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
927         * html/parser/HTMLTreeBuilder.h:
928
929 2012-08-22  Alexandre Elias  <aelias@google.com>
930
931         [chromium] Add software bitmap resources to CCResourceProvider
932         https://bugs.webkit.org/show_bug.cgi?id=93677
933
934         Reviewed by Adrienne Walker.
935
936         Second commit after revert.
937
938         This adds the ability to CCResourceProvider to use software bitmaps.
939         They are allocated as plain-old-memory, and exposed as Skia objects.
940
941         We want the ResourceProvider to be able to handle different resource
942         types at the same time.  In practice, a default resource type is
943         desired for most uses within a single compositor instance, which is
944         specified by the default resource type.  Default resource types are
945         expected to be mostly 1-to-1 with CCRenderer types.
946
947         New tests added by parametrizing existing CCResourceProvider tests.
948
949         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
950         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
951         * platform/graphics/chromium/LayerRendererChromium.cpp:
952         (WebCore::applyFilters):
953         (WebCore::LayerRendererChromium::drawRenderPassQuad):
954         (WebCore::LayerRendererChromium::drawTileQuad):
955         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
956         (WebCore::LayerRendererChromium::drawTextureQuad):
957         (WebCore::LayerRendererChromium::getFramebufferTexture):
958         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
959         * platform/graphics/chromium/LayerRendererChromium.h:
960         (DrawingFrame):
961         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
962         (WebCore::CCResourceProvider::createResource):
963         (WebCore):
964         (WebCore::CCResourceProvider::createGLTexture):
965         (WebCore::CCResourceProvider::createBitmap):
966         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
967         (WebCore::CCResourceProvider::deleteResource):
968         (WebCore::CCResourceProvider::upload):
969         (WebCore::CCResourceProvider::flush):
970         (WebCore::CCResourceProvider::shallowFlushIfSupported):
971         (WebCore::CCResourceProvider::lockForRead):
972         (WebCore::CCResourceProvider::unlockForRead):
973         (WebCore::CCResourceProvider::lockForWrite):
974         (WebCore::CCResourceProvider::unlockForWrite):
975         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
976         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
977         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
978         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
979         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
980         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
981         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
982         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
983         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
984         (WebCore::CCResourceProvider::CCResourceProvider):
985         * platform/graphics/chromium/cc/CCResourceProvider.h:
986         (WebCore):
987         (WebCore::CCResourceProvider::setCreationPolicy):
988         (WebCore::CCResourceProvider::creationPolicy):
989         (CCResourceProvider):
990         (ScopedReadLockGL):
991         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
992         (ScopedWriteLockGL):
993         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
994         (ScopedReadLockSoftware):
995         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
996         (ScopedWriteLockSoftware):
997         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
998         (Resource):
999
1000 2012-08-22  Anna Cavender  <annacc@chromium.org>
1001
1002         Update the TextTrackCue Constructor
1003         https://bugs.webkit.org/show_bug.cgi?id=88583
1004
1005         Reviewed by Eric Carlson.
1006
1007         The TextTrackCue constructor has been changed to:
1008         [Constructor(double startTime, double endTime, DOMString text)]
1009         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue
1010
1011         No new tests.  Update to media/track/track-add-remove-cue.html
1012
1013         * html/track/TextTrackCue.cpp:
1014         (WebCore::TextTrackCue::TextTrackCue):
1015         * html/track/TextTrackCue.h:
1016         (WebCore::TextTrackCue::create):
1017         (TextTrackCue):
1018         * html/track/TextTrackCue.idl:
1019         * html/track/WebVTTParser.cpp:
1020         (WebCore::WebVTTParser::createNewCue):
1021
1022 2012-08-22  Erik Arvidsson  <arv@chromium.org>
1023
1024         Changing class attribute is not reflected in the classList property
1025         https://bugs.webkit.org/show_bug.cgi?id=93665
1026
1027         Reviewed by Ojan Vafai.
1028
1029         Before this change classAttributeChanged was only called for StyledElement. With this refactoring
1030         it gets called for all Elements when the class attribute changes.
1031
1032         Test: fast/dom/Element/class-list-update.html
1033
1034         * css/StyleResolver.cpp:
1035         (WebCore::StyleResolver::collectMatchingRules): To match the old behavior we only include StyledElements.
1036         * dom/ClassNodeList.cpp:
1037         (WebCore::ClassNodeList::nodeMatches): Ditto.
1038         * dom/Element.cpp:
1039         (WebCore::Element::attributeChanged): Moved the call to parseAttribute here, from StyledElement::attributeChanged.
1040         (WebCore::Element::parseAttribute): Moved from StyledElement.
1041         (WebCore):
1042         (WebCore::Element::classAttributeChanged): Ditto.
1043         * dom/Element.h:
1044         (Element):
1045         (WebCore::Element::classNames): Ditto.
1046         (WebCore):
1047         * dom/StyledElement.cpp:
1048         (WebCore::StyledElement::attributeChanged): Let Element::attributeChanged call parseAttribtue instead.
1049         (WebCore::StyledElement::parseAttribute): Move the class attribute handling to Element::parseAttribute.
1050         * dom/StyledElement.h:
1051         (StyledElement):
1052
1053 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1054
1055         [V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
1056         https://bugs.webkit.org/show_bug.cgi?id=94588
1057
1058         Reviewed by Eric Seidel.
1059
1060         v8String() is faster than String::NewSymbol().
1061         This patch implements v8String(char*, Isolate*) and
1062         replaces String::NewSymbol(char*) in CodeGeneratorV8.pm
1063         with v8String(char*, Isolate*).
1064
1065         Performance result:
1066
1067         // 272 nano sec
1068         static v8::Handle<v8::Value> attr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
1069         {
1070             v8::Handle<v8::Value> v1 = v8String(String("foo"));
1071             v8::Handle<v8::Value> v2 = v8String(String("bar"));
1072             if (!v1.IsEmpty() && !v2.IsEmpty())
1073                 return v8Undefined();
1074             return v8::Null(); // Never reach.
1075         }
1076
1077         // 377 nano sec
1078         static v8::Handle<v8::Value> attr4AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
1079         {
1080             v8::Handle<v8::Value> v1 = v8::String::NewSymbol("foo");
1081             v8::Handle<v8::Value> v2 = v8::String::NewSymbol("bar");
1082             if (!v1.IsEmpty() && !v2.IsEmpty())
1083                 return v8Undefined();
1084             return v8::Null(); // Never reach.
1085         }
1086
1087         No tests. No change in behavior.
1088
1089         * bindings/scripts/CodeGeneratorV8.pm:
1090         (GenerateNormalAttrGetter):
1091         (GenerateNormalAttrSetter):
1092         (GenerateNamedConstructorCallback):
1093         (GenerateNonStandardFunction):
1094         (GenerateImplementation):
1095         * bindings/scripts/test/V8/V8Float64Array.cpp:
1096         (WebCore::ConfigureV8Float64ArrayTemplate):
1097         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1098         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1099         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1100         (WebCore::ConfigureV8TestEventTargetTemplate):
1101         * bindings/scripts/test/V8/V8TestInterface.cpp:
1102         (WebCore::ConfigureV8TestInterfaceTemplate):
1103         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1104         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1105         * bindings/scripts/test/V8/V8TestObj.cpp:
1106         (WebCore::ConfigureV8TestObjTemplate):
1107         (WebCore::V8TestObj::installPerContextProperties):
1108         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1109         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
1110         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
1111         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
1112         * bindings/v8/V8Binding.h:
1113         (WebCore):
1114         (WebCore::v8String):
1115         * html/HTMLDivElement.idl:
1116
1117 2012-08-22  Pratik Solanki  <psolanki@apple.com>
1118
1119         Setting WebKitEnableHTTPPipelining doesn't work if default is true
1120         https://bugs.webkit.org/show_bug.cgi?id=94537
1121
1122         Reviewed by David Kilzer.
1123
1124         * platform/network/cf/ResourceRequestCFNet.cpp:
1125         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Read in the HTTP pipelining pref and
1126         allow it to override the default pipelining behavior if it was actually set.
1127
1128 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
1129
1130         [chromium] Add touch link highlight animation layers.
1131         https://bugs.webkit.org/show_bug.cgi?id=84487
1132
1133         Reviewed by James Robinson.
1134
1135         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
1136         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
1137         Transform support currently limited to translation.
1138
1139         Unit tests for LinkHighlight revised.
1140
1141         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
1142                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
1143                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
1144                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
1145                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
1146                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
1147                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
1148                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
1149                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
1150                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
1151                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
1152                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
1153                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
1154                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
1155                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
1156                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
1157                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
1158                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
1159                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
1160                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
1161                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
1162                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
1163                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
1164                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
1165                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
1166                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
1167                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
1168                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
1169                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
1170                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
1171                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
1172                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
1173                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
1174                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
1175                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
1176                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
1177                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
1178                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
1179                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
1180                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
1181                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
1182
1183         * WebCore.gypi:
1184         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1185         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1186         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
1187         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
1188         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
1189         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
1190         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
1191         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
1192         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
1193         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
1194         * platform/graphics/chromium/GraphicsLayerChromium.h:
1195         (WebCore):
1196         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
1197         (WebCore::LinkHighlightClient::~LinkHighlightClient):
1198         (GraphicsLayerChromium):
1199         (WebCore::GraphicsLayerChromium::linkHighlight):
1200         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
1201
1202 2012-08-22  Beth Dakin  <bdakin@apple.com>
1203
1204         https://bugs.webkit.org/show_bug.cgi?id=94401
1205         Add support for making a web site become paginated using overflow: 
1206         paged-x | paged-y
1207         -and corresponding-
1208         <rdar://problem/11831783> 
1209
1210         Reviewed by Dave Hyatt.
1211
1212         This patch adds two new possible values for overflow-y. They are -
1213         webkit-paged-x and -webkit-paged-y. When you set these as overflow-y 
1214         values on the html or body element, they make the RenderView 
1215         paginated, much like the API on Page.
1216
1217         -webkit-paged-x and -webkit-paged-y are only valid values for 
1218         overflow-y, NOT overflow-x. overflow-x defaults to a value of auto 
1219         (for now) unless it has been set to something else.
1220         * css/CSSParser.cpp:
1221         (WebCore::isValidKeywordPropertyAndValue):
1222         (WebCore::CSSParser::parseValue):
1223
1224         Two new CSS value keywords.
1225         * css/CSSValueKeywords.in:
1226
1227         EOverflow has two new values for pagination. 
1228         * rendering/style/RenderStyleConstants.h:
1229         * css/CSSPrimitiveValueMappings.h:
1230         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1231         (WebCore::CSSPrimitiveValue::operator EOverflow):
1232
1233         A bunch of existing code from StyleResolver::styleForDocument() is 
1234         moved into a helper function so that it can be called from two 
1235         places. 
1236         * css/StyleResolver.cpp:
1237         (WebCore::StyleResolver::collectMatchingRulesForList):
1238
1239         Even though this pagination is very similar to Page::pagination(), it 
1240         is different in one critical way. Page::pagination() will apply to 
1241         all FrameViews, even those in the page cache. For this reason, 
1242         FrameView needs to keep its own Pagination value that just applies to 
1243         this FrameView.
1244         * page/FrameView.cpp:
1245         * page/FrameView.h:
1246         (WebCore):
1247         (FrameView):
1248
1249         Map RenderStyle values to a Pagination::Mode.
1250         (WebCore::paginationModeForRenderStyle):
1251         (WebCore):
1252
1253         Account for paged-x and paged-y here.
1254         (WebCore::FrameView::applyOverflowToViewport):
1255
1256         As is explained in the header, FrameView::pagination() will return 
1257         m_pagination if it has been set. Otherwise, it will return 
1258         Page::pagination() since currently there are no callers that need to 
1259         distinguish between the two.
1260         (WebCore::FrameView::pagination):
1261         (WebCore::FrameView::setPagination):
1262
1263         Generally this means that everywhere in WebCore should ask FrameView 
1264         for the pagination(), not Page. These call sites all look to 
1265         FrameView now.
1266         (WebCore::FrameView::paintContents):
1267         * rendering/RenderView.cpp:
1268         (WebCore::RenderView::requiresColumns):
1269         (WebCore::RenderView::calcColumnWidth):
1270         (WebCore::RenderView::paginationUnit):
1271         (WebCore::RenderView::viewLogicalHeight):
1272
1273         Since we need to define Pagination in Page.h AND FrameView.h, it is 
1274         now in its own header, Pagination.h. And therefore it is no longer 
1275         WebCore::Page::Pagination, but rather it is just WebCore::Pagination.
1276         * page/Page.h:
1277         (Page):
1278         * rendering/Pagination.h: Added.
1279         (WebCore):
1280         (WebCore::Pagination::Pagination):
1281         (Pagination):
1282         (WebCore::Pagination::operator==):
1283         (WebCore::Pagination::operator!=):
1284         * WebCore.exp.in:
1285         * WebCore.xcodeproj/project.pbxproj:
1286         * GNUmakefile.list.am:
1287         * Target.pri:
1288         * WebCore.exp.in:
1289         * WebCore.gypi:
1290
1291         Certain ColumnInfo values are set based on the RenderStyle. So if 
1292         those RenderStyle values change, the ColumnInfo needs to be updated.
1293         * rendering/RenderBlock.cpp:
1294         (WebCore::RenderBlock::updateColumnInfoFromStyle):
1295         (WebCore):
1296         * rendering/RenderBlock.h:
1297         (RenderBlock):
1298
1299         Factor in paged-x and paged-y when determining if a RenderBlock 
1300         requires columns.
1301         (WebCore::RenderBlock::requiresColumns):
1302
1303         RenderStyle::specifiesColumns() is an odd and probably broken 
1304         function. At the very least, it should be re-named, if not removed 
1305         entirely. It does not accurately assess if columns have been 
1306         specified. I had to add this code here because specifiesColumns() 
1307         returns false for paged-x and true for paged-y. We were hitting a 
1308         number of crashes with paged-y because of this, so I chose for the 
1309         time being to limit this check to non-root layers.
1310         * rendering/RenderLayer.cpp:
1311         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1312
1313         It's just Pagination now, not Page::Pagination.
1314         * testing/InternalSettings.cpp:
1315         (WebCore::InternalSettings::reset):
1316         (WebCore::InternalSettings::setPagination):
1317
1318 2012-08-22  Dean Jackson  <dino@apple.com>
1319
1320         [WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
1321         https://bugs.webkit.org/show_bug.cgi?id=94030
1322
1323         Reviewed by Tim Horton.
1324
1325         ATI/AMD GPUs on Apple platforms do not give correct values for some of
1326         the built-in GLSL functions. Add a compile flag that is passed to ANGLE
1327         so that, with this configuration, it will rewrite the shader to emulate
1328         the function in code.
1329
1330         This is exposing some design weaknesses in the way we call ANGLE. We'll
1331         soon need to add more compiler flags; Future bugs will likely clean
1332         this code up. But this approach is satisfactory for the moment.
1333
1334         This change is tested by the Khronos WebGL conformance test suite, in particular:
1335         conformance/glsl/functions/glsl-function-distance.html
1336         conformance/glsl/functions/glsl-function-dot.html
1337         conformance/glsl/functions/glsl-function-length.html
1338
1339         * platform/graphics/ANGLEWebKitBridge.cpp:
1340         (WebCore::ANGLEWebKitBridge::validateShaderSource): Test for ATI cards
1341         on the Mac platform, and pass in an extra flag to the translation step.
1342         * platform/graphics/ANGLEWebKitBridge.h:
1343         (ANGLEWebKitBridge): Add a new parameter to getTranslatedShaderSourceANGLE
1344         that accepts some extra options to pass to ANGLE.
1345         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1346         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Pass
1347         the extra options into ANGLE's compile function.
1348
1349 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
1350
1351         [chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
1352         https://bugs.webkit.org/show_bug.cgi?id=93091
1353
1354         Reviewed by Adam Barth.
1355
1356         Fixing a FIXME that the patch obsoletes.
1357
1358         Covered by existing tests.
1359
1360         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
1361         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
1362
1363 2012-08-22  Eric Penner  <epenner@google.com>
1364
1365         [chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
1366         https://bugs.webkit.org/show_bug.cgi?id=94165
1367
1368         Reviewed by Adrienne Walker.
1369
1370         Remove visible rect parameter from TiledLayerChromium functions. Passing a
1371         rect that is not the visible rect wouldn't make sense, and soon we might
1372         need further visibility information.
1373
1374         In refactoring the unit tests, I removed texture manager from all tests
1375         and put it in the test class. I also made some utility functions to 
1376         simulate the commit flow and remove tons of boilerplate code. I refactored
1377         about half the unit tests to use the utility functions.
1378
1379         Refactored tests.
1380
1381         * platform/graphics/chromium/ContentLayerChromium.cpp:
1382         (WebCore::ContentLayerChromium::update):
1383         (WebCore::ContentLayerChromium::needMoreUpdates):
1384         * platform/graphics/chromium/ImageLayerChromium.cpp:
1385         (WebCore::ImageLayerChromium::update):
1386         * platform/graphics/chromium/TiledLayerChromium.cpp:
1387         (WebCore):
1388         (WebCore::TiledLayerChromium::setTexturePriorities):
1389         (WebCore::TiledLayerChromium::resetUpdateState):
1390         (WebCore::TiledLayerChromium::update):
1391         (WebCore::TiledLayerChromium::needsIdlePaint):
1392         (WebCore::TiledLayerChromium::idlePaintRect):
1393         * platform/graphics/chromium/TiledLayerChromium.h:
1394         (TiledLayerChromium):
1395
1396 2012-08-22  Otto Derek Cheung  <otcheung@rim.com>
1397
1398         [BlackBerry] Add a check to filter out cookies that tries to set the 
1399         domain to a top level domain
1400         https://bugs.webkit.org/show_bug.cgi?id=94722
1401
1402         Reviewed by Rob Buis.
1403
1404         Adding conditions to check whether a cookie domain is a top level domain.
1405         If it is, throw it out when parsing.
1406
1407         Manual Testing by trying to insert a cookie with an invalid domain
1408         using web-inspector. (ex: when on news.yahoo.com.hk, try to document.
1409         cookie="test1=seeifthiscookieexist; domain=.com.hk")
1410
1411         PR121622
1412
1413         * platform/blackberry/CookieParser.cpp:
1414         WebCore::CookieParser::parseOneCookie):
1415
1416 2012-08-22  Rob Buis  <rwlbuis@webkit.org>
1417
1418         Remove RenderBlock::paintEllipsisBoxes
1419         https://bugs.webkit.org/show_bug.cgi?id=94709
1420
1421         Reviewed by Eric Seidel.
1422
1423         Remove unused method.
1424
1425         No change in functionality, no new tests.
1426
1427         * rendering/RenderBlock.cpp:
1428         (WebCore::RenderBlock::paintFloats):
1429         * rendering/RenderBlock.h:
1430         (RenderBlock):
1431
1432 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
1433
1434         MediaStream API: Introduce RTCSessionDescription
1435         https://bugs.webkit.org/show_bug.cgi?id=93119
1436
1437         Reviewed by Adam Barth.
1438
1439         This patch introduces RTCSessionDescription together with its
1440         corresponding WebCore/platform representation.
1441
1442         Test: fast/mediastream/RTCSessionDescription.html
1443
1444         * CMakeLists.txt:
1445         * GNUmakefile.list.am:
1446         * Modules/mediastream/DOMWindowMediaStream.idl:
1447         * Modules/mediastream/RTCSessionDescription.cpp: Added.
1448         (WebCore):
1449         (WebCore::RTCSessionDescription::create):
1450         (WebCore::RTCSessionDescription::RTCSessionDescription):
1451         (WebCore::RTCSessionDescription::~RTCSessionDescription):
1452         (WebCore::RTCSessionDescription::type):
1453         (WebCore::RTCSessionDescription::setType):
1454         (WebCore::RTCSessionDescription::sdp):
1455         (WebCore::RTCSessionDescription::setSdp):
1456         (WebCore::RTCSessionDescription::descriptor):
1457         * Modules/mediastream/RTCSessionDescription.h: Added.
1458         (WebCore):
1459         (RTCSessionDescription):
1460         * Modules/mediastream/RTCSessionDescription.idl: Added.
1461         * WebCore.gypi:
1462         * platform/mediastream/RTCSessionDescriptionDescriptor.cpp: Added.
1463         (WebCore):
1464         (WebCore::RTCSessionDescriptionDescriptor::create):
1465         (WebCore::RTCSessionDescriptionDescriptor::RTCSessionDescriptionDescriptor):
1466         (WebCore::RTCSessionDescriptionDescriptor::~RTCSessionDescriptionDescriptor):
1467         * platform/mediastream/RTCSessionDescriptionDescriptor.h: Added.
1468         (WebCore):
1469         (RTCSessionDescriptionDescriptor):
1470         (WebCore::RTCSessionDescriptionDescriptor::type):
1471         (WebCore::RTCSessionDescriptionDescriptor::setType):
1472         (WebCore::RTCSessionDescriptionDescriptor::sdp):
1473         (WebCore::RTCSessionDescriptionDescriptor::setSdp):
1474
1475 2012-08-22  Victor Carbune  <victor@rosedu.org>
1476
1477         DOM manipulation crashes the browser
1478
1479         Creating a DOM track element by script and changing the mode crashes
1480         results in a browser crash.
1481         https://bugs.webkit.org/show_bug.cgi?id=94628
1482
1483         Reviewed by Eric Carlson.
1484
1485         Simple fix that creates the text track cue list in case of mode change.
1486
1487         Test: media/track/track-element-dom-change-crash.html
1488
1489         * html/HTMLMediaElement.cpp:
1490         (WebCore::HTMLMediaElement::textTrackModeChanged):
1491
1492 2012-08-22  Ryosuke Niwa  <rniwa@webkit.org>
1493
1494         Microdata build fix.
1495
1496         * html/HTMLPropertiesCollection.h:
1497         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
1498
1499 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
1500
1501         MediaStream API: Introduce RTCIceCandidate
1502         https://bugs.webkit.org/show_bug.cgi?id=93117
1503
1504         Reviewed by Adam Barth.
1505
1506         This patch introduces RTCIceCandidate together with its corresponding
1507         WebCore/platform representation.
1508
1509         Test: fast/mediastream/RTCIceCandidate.html
1510
1511         * CMakeLists.txt:
1512         * GNUmakefile.list.am:
1513         * Modules/mediastream/DOMWindowMediaStream.idl:
1514         * Modules/mediastream/RTCIceCandidate.cpp: Added.
1515         (WebCore):
1516         (WebCore::RTCIceCandidate::create):
1517         (WebCore::RTCIceCandidate::RTCIceCandidate):
1518         (WebCore::RTCIceCandidate::~RTCIceCandidate):
1519         (WebCore::RTCIceCandidate::candidate):
1520         (WebCore::RTCIceCandidate::sdpMid):
1521         (WebCore::RTCIceCandidate::sdpMLineIndex):
1522         (WebCore::RTCIceCandidate::descriptor):
1523         * Modules/mediastream/RTCIceCandidate.h: Added.
1524         (WebCore):
1525         (RTCIceCandidate):
1526         * Modules/mediastream/RTCIceCandidate.idl: Added.
1527         * WebCore.gypi:
1528         * platform/mediastream/RTCIceCandidateDescriptor.cpp: Added.
1529         (WebCore):
1530         (WebCore::RTCIceCandidateDescriptor::create):
1531         (WebCore::RTCIceCandidateDescriptor::RTCIceCandidateDescriptor):
1532         (WebCore::RTCIceCandidateDescriptor::~RTCIceCandidateDescriptor):
1533         * platform/mediastream/RTCIceCandidateDescriptor.h: Added.
1534         (WebCore):
1535         (RTCIceCandidateDescriptor):
1536         (WebCore::RTCIceCandidateDescriptor::candidate):
1537         (WebCore::RTCIceCandidateDescriptor::sdpMid):
1538         (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):
1539
1540 2012-08-22  Mark Rowe  <mrowe@apple.com>
1541
1542         <http://webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being autoreleased without any autorelease pool in place
1543
1544         Reviewed by Dan Bernstein.
1545
1546         * page/scrolling/mac/ScrollingThreadMac.mm:
1547         (WebCore::ScrollingThread::threadRunLoopSourceCallback): Ensure that an autorelease pool is in place when
1548         dispatching functions on the scrolling thread.
1549
1550 2012-08-22  Pratik Solanki  <psolanki@apple.com>
1551
1552         Failure to dispatch delegate callbacks if resource load fails synchronously
1553         https://bugs.webkit.org/show_bug.cgi?id=94644
1554
1555         Reviewed by Antti Koivisto.
1556
1557         Resource loads can be triggered by layout after document load is
1558         complete but before we have dispatched didFinishLoadForFrame callback.
1559         In such cases, if the load fails synchronously due to the client
1560         returning 0 from willSendRequest callback, we would fail to call
1561         didFinishLoading. this was fixed for Font resources in r122446 for bug
1562         91018. This fixes it in the general case by having CachedResourceLoader
1563         call FrameLoader::checkLoadComplete() when it is done loading all
1564         resources.
1565
1566         * css/CSSFontSelector.cpp:
1567         (WebCore::CSSFontSelector::beginLoadTimerFired):
1568         * loader/cache/CachedResourceLoader.cpp:
1569         (WebCore::CachedResourceLoader::decrementRequestCount):
1570
1571 2012-08-22  Kenneth Russell  <kbr@google.com>
1572
1573         Unreviewed, rolling out r126319.
1574         http://trac.webkit.org/changeset/126319
1575         https://bugs.webkit.org/show_bug.cgi?id=84487
1576
1577         Broke Chromium Mac build
1578
1579         * WebCore.gypi:
1580         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1581         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1582         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1583         (WebCore::GraphicsLayerChromium::updateNames):
1584         (WebCore::GraphicsLayerChromium::setSize):
1585         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1586         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1587         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1588         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1589         (WebCore):
1590         (WebCore::GraphicsLayerChromium::updateChildList):
1591         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1592         * platform/graphics/chromium/GraphicsLayerChromium.h:
1593         (WebCore):
1594         (GraphicsLayerChromium):
1595         * platform/graphics/chromium/LinkHighlight.cpp: Added.
1596         (WebCore):
1597         (WebCore::LinkHighlight::create):
1598         (WebCore::LinkHighlight::LinkHighlight):
1599         (WebCore::LinkHighlight::~LinkHighlight):
1600         (WebCore::LinkHighlight::contentLayer):
1601         (WebCore::LinkHighlight::paintContents):
1602         (WebCore::LinkHighlight::notifyAnimationStarted):
1603         (WebCore::LinkHighlight::notifyAnimationFinished):
1604         * platform/graphics/chromium/LinkHighlight.h: Renamed from Source/WebKit/chromium/src/LinkHighlight.h.
1605         (WebCore):
1606         (LinkHighlight):
1607
1608 2012-08-22  Alexei Svitkine  <asvitkine@chromium.org>
1609
1610         Respect system setting for rubber-banding in ScrollAnimatorMac.
1611         https://bugs.webkit.org/show_bug.cgi?id=94356
1612
1613         Reviewed by James Robinson.
1614
1615         Respects user defaults setting of NSScrollViewRubberbanding,
1616         which controls rubber-banding in other Mac OS X applications.
1617
1618         If NSScrollViewRubberbanding is not set, defaults to enabling
1619         rubber banding. Otherwise, rubber banding is disabled if the
1620         value is 0 and enabled otherwise.
1621
1622         No new tests since the behavior depends on system settings.
1623
1624         * platform/mac/ScrollAnimatorMac.mm:
1625         (WebCore):
1626         (WebCore::rubberBandingEnabledForSystem):
1627         (WebCore::ScrollAnimatorMac::handleWheelEvent):
1628
1629 2012-08-22  James Robinson  <jamesr@chromium.org>
1630
1631         [chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
1632         https://bugs.webkit.org/show_bug.cgi?id=94658
1633
1634         Reviewed by Tony Chang.
1635
1636         The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
1637         for OS X version <= Leopard.
1638
1639         * platform/graphics/chromium/CrossProcessFontLoading.mm:
1640         (WebCore::FontPlatformData::loadFont):
1641         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1642         (WebCore::canSetCascadeListForCustomFont):
1643
1644 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
1645
1646         [chromium] Add touch link highlight animation layers.
1647         https://bugs.webkit.org/show_bug.cgi?id=84487
1648
1649         Reviewed by James Robinson.
1650
1651         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
1652         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
1653         Transform support currently limited to translation.
1654
1655         Unit tests for LinkHighlight revised.
1656
1657         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
1658                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
1659                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
1660                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
1661                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
1662                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
1663                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
1664                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
1665                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
1666                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
1667                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
1668                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
1669                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
1670                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
1671                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
1672                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
1673                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
1674                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
1675                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
1676                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
1677                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
1678                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
1679                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
1680                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
1681                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
1682                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
1683                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
1684                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
1685                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
1686                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
1687                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
1688                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
1689                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
1690                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
1691                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
1692                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
1693                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
1694                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
1695                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
1696                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
1697                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
1698
1699         * WebCore.gypi:
1700         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1701         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1702         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
1703         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
1704         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
1705         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
1706         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
1707         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
1708         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
1709         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
1710         * platform/graphics/chromium/GraphicsLayerChromium.h:
1711         (WebCore):
1712         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
1713         (WebCore::LinkHighlightClient::~LinkHighlightClient):
1714         (GraphicsLayerChromium):
1715         (WebCore::GraphicsLayerChromium::linkHighlight):
1716         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
1717
1718 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
1719
1720         Unreviewed build fix. Missing PANGO_CFLAGS.
1721
1722         * GNUmakefile.am:
1723
1724 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
1725
1726         Web Inspector: make "sdk" component compile independently from the rest of the front-end.
1727         https://bugs.webkit.org/show_bug.cgi?id=94705
1728
1729         Reviewed by Vsevolod Vlasov.
1730
1731         This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
1732         It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.
1733
1734         * WebCore.gypi:
1735         * WebCore.vcproj/WebCore.vcproj:
1736         * inspector/InjectedScriptExterns.js:
1737         (InjectedScriptHost.prototype.evaluate):
1738         * inspector/Inspector.json:
1739         * inspector/compile-front-end.py:
1740         (dump_module):
1741         * inspector/front-end/CompilerScriptMapping.js:
1742         * inspector/front-end/ConsoleModel.js:
1743         (WebInspector.ConsoleMessage):
1744         (WebInspector.ConsoleMessage.prototype.clone):
1745         (WebInspector.ConsoleMessage.prototype.location):
1746         * inspector/front-end/DOMAgent.js:
1747         * inspector/front-end/DOMStorage.js:
1748         (WebInspector.DOMStorageModel):
1749         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
1750         (WebInspector.DOMStorageModel.prototype._domStorageUpdated):
1751         (WebInspector.DOMStorageModel.prototype.storageForId):
1752         (WebInspector.DOMStorageModel.prototype.storages):
1753         (WebInspector.DOMStorageDispatcher):
1754         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
1755         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
1756         * inspector/front-end/Database.js:
1757         (WebInspector.Database):
1758         (WebInspector.Database.prototype.executeSql):
1759         (WebInspector.DatabaseModel):
1760         (WebInspector.DatabaseModel.prototype.databases):
1761         (WebInspector.DatabaseModel.prototype.databaseForId):
1762         (WebInspector.DatabaseModel.prototype._addDatabase):
1763         (WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
1764         (WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
1765         (WebInspector.DatabaseDispatcher):
1766         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
1767         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
1768         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
1769         * inspector/front-end/DebuggerModel.js:
1770         * inspector/front-end/FileUtils.js:
1771         (WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
1772         (WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
1773         (WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
1774         (WebInspector.OutputStreamDelegate.prototype.onError):
1775         (WebInspector.OutputStream):
1776         (WebInspector.OutputStream.prototype.startTransfer):
1777         (WebInspector.OutputStream.prototype.transferChunk):
1778         (WebInspector.OutputStream.prototype.finishTransfer):
1779         (WebInspector.OutputStream.prototype.dispose):
1780         * inspector/front-end/HandlerRegistry.js:
1781         * inspector/front-end/HeapSnapshotView.js:
1782         * inspector/front-end/InspectorFrontendHostStub.js:
1783         * inspector/front-end/PresentationConsoleMessageHelper.js:
1784         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
1785         * inspector/front-end/ResourcesPanel.js:
1786         (WebInspector.ResourcesPanel):
1787         (WebInspector.ResourcesPanel.prototype._reset):
1788         (WebInspector.ResourcesPanel.prototype._databaseAdded):
1789         (WebInspector.ResourcesPanel.prototype._addDatabase):
1790         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
1791         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
1792         (WebInspector.ResourcesPanel.prototype._showDatabase.get if):
1793         (WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
1794         (WebInspector.ResourcesPanel.prototype._showDatabase):
1795         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
1796         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
1797         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
1798         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
1799         (WebInspector.DatabaseTreeElement.prototype.onselect):
1800         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
1801         (WebInspector.DOMStorageTreeElement.prototype.onselect):
1802         * inspector/front-end/ScriptsPanel.js:
1803         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
1804         * inspector/front-end/SearchController.js:
1805         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
1806         * inspector/front-end/Settings.js:
1807         * inspector/front-end/Spectrum.js:
1808         * inspector/front-end/TextEditorModel.js:
1809         * inspector/front-end/UIString.js: Added.
1810         (WebInspector.UIString):
1811         * inspector/front-end/UIUtils.js:
1812         * inspector/front-end/WebKit.qrc:
1813         * inspector/front-end/externs.js:
1814         (InspectorFrontendHostAPI.prototype.platform):
1815         (InspectorFrontendHostAPI.prototype.port):
1816         (InspectorFrontendHostAPI.prototype.bringToFront):
1817         (InspectorFrontendHostAPI.prototype.closeWindow):
1818         (InspectorFrontendHostAPI.prototype.requestAttachWindow):
1819         (InspectorFrontendHostAPI.prototype.requestDetachWindow):
1820         (InspectorFrontendHostAPI.prototype.requestSetDockSide):
1821         (InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
1822         (InspectorFrontendHostAPI.prototype.moveWindowBy):
1823         (InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
1824         (InspectorFrontendHostAPI.prototype.loaded):
1825         (InspectorFrontendHostAPI.prototype.localizedStringsURL):
1826         (InspectorFrontendHostAPI.prototype.hiddenPanels):
1827         (InspectorFrontendHostAPI.prototype.inspectedURLChanged):
1828         (InspectorFrontendHostAPI.prototype.documentCopy):
1829         (InspectorFrontendHostAPI.prototype.copyText):
1830         (InspectorFrontendHostAPI.prototype.openInNewTab):
1831         (InspectorFrontendHostAPI.prototype.canSave):
1832         (InspectorFrontendHostAPI.prototype.save):
1833         (InspectorFrontendHostAPI.prototype.canAppend):
1834         (InspectorFrontendHostAPI.prototype.append):
1835         (InspectorFrontendHostAPI.prototype.sendMessageToBackend):
1836         (InspectorFrontendHostAPI.prototype.recordActionTaken):
1837         (InspectorFrontendHostAPI.prototype.recordPanelShown):
1838         (InspectorFrontendHostAPI.prototype.recordSettingChanged):
1839         (InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
1840         (InspectorFrontendHostAPI.prototype.setZoomFactor):
1841         (InspectorFrontendHostAPI.prototype.canInspectWorkers):
1842         (SourceMapV3):
1843         (SourceMapV3.Section):
1844         (SourceMapV3.Offset):
1845         * inspector/front-end/inspector.html:
1846         * inspector/front-end/inspector.js:
1847         (WebInspector.inspect):
1848
1849 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
1850
1851         Unreviewed build fix. libWebCore needs include paths
1852         for some bits of WebCoreGtk.
1853
1854         * GNUmakefile.am:
1855
1856 2012-08-22  Koji Ishii  <kojiishi@gmail.com>
1857
1858         FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
1859         https://bugs.webkit.org/show_bug.cgi?id=83512
1860
1861         Reviewed by Tony Chang.
1862
1863         Chromium Windows does not implement following 3 functions that are required for bug 51450.
1864         1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
1865         2. FontPlatformData.orientation() always returns Horizontal.
1866         3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
1867         Tony suggested in bug 51450 review to split code that is not behind
1868         #if ENABLE(OPENTYPE_VERTICAL) to a separate patch.
1869
1870         Test: Following 3 existing but skipped tests are now enabled and pass.
1871               fast/text/emphasis-overlap.html
1872               fast/text/emphasis-avoid-ruby.html
1873               fast/repaint/text-emphasis-v.html
1874
1875         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1876         (WebCore::FontCache::createFontPlatformData): Add orientation.
1877         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1878         (WebCore::FontPlatformData::FontPlatformData): Add orientation.
1879         (WebCore::FontPlatformData::operator=): Add orientation.
1880         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1881         (FontPlatformData):
1882         (WebCore::FontPlatformData::orientation): Add orientation.
1883         (WebCore::FontPlatformData::setOrientation): Add orientation.
1884         (WebCore::FontPlatformData::operator==): Add orientation.
1885         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1886         (WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
1887         (WebCore::SimpleFontData::createScaledFontData): Add orientation.
1888         (WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
1889         * platform/graphics/skia/FontCustomPlatformData.cpp:
1890         (WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.
1891
1892 2012-08-22  Robert Hogan  <robert@webkit.org>
1893
1894         REGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug Chromium
1895         https://bugs.webkit.org/show_bug.cgi?id=94010
1896
1897         Reviewed by Tony Chang.
1898
1899         r125578 inspected the raw text run for word-end but the index it used to do so was for a normalized
1900         version of the run that could be longer than the raw text run. So to allow proper detection of word-end
1901         in complex text (i) do not normalize tabs to plain white-space and (ii) go back to using the normalized version
1902         of the run for detecting word-end. There is a risk that some fonts may create glyphs for the '\t' character 
1903         but this does not turn up in any of our regression tests and the more common risk appears to be the new-line.
1904
1905         Test: fast/regex/unicodeCaseInsensitive.html
1906
1907         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
1908         (WebCore::normalizeSpacesAndMirrorChars):
1909
1910 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
1911
1912         Web Inspector: [WebGL] Support the communication protocol from the injected script
1913         https://bugs.webkit.org/show_bug.cgi?id=94689
1914
1915         Reviewed by Pavel Feldman.
1916
1917         Support the WebGL communication protocol from the injected script module.
1918
1919         * inspector/InjectedScriptWebGLModuleSource.js:
1920         (.):
1921
1922 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
1923
1924         [GTK] Split WebCore/platform into a separate library
1925         https://bugs.webkit.org/show_bug.cgi?id=94435
1926
1927         Reviewed by Martin Robinson.
1928
1929         More people have been reporting problems when linking WebCore because
1930         the command line limit is being exceeded. Splitting WebCore a bit more
1931         is in order.
1932
1933         * GNUmakefile.am: add new libWebCorePlatform convenience library.
1934         * GNUmakefile.list.am: move list of platform/* files to its own variable.
1935
1936 2012-08-22  Raphael Kubo da Costa  <rakuco@webkit.org>
1937
1938         [EFL] Build failures with harfbuzz outside standard locations
1939         https://bugs.webkit.org/show_bug.cgi?id=93030
1940
1941         Reviewed by Rob Buis.
1942
1943         Add ${HARFBUZZ_INCLUDE_DIRS} to the list of included paths: so far
1944         it was being implicitly pulled from evas's pkg-config file, and
1945         used to work when WebKit-EFL's dependencies were built with
1946         jhbuild -- in this case, harfbuzz is built before evas, which is
1947         then built with harfbuzz support and adds the required paths to
1948         its .pc file.
1949
1950         We need to include things directly to account for the case of
1951         people not using jhbuild and thus not necessarily having harfbuzz
1952         as an evas dependency.
1953
1954         * PlatformEfl.cmake:
1955
1956 2012-08-22  Raul Hudea  <rhudea@adobe.com>
1957
1958         Crash in WebCore::RenderBlock::removeChild
1959         https://bugs.webkit.org/show_bug.cgi?id=93879
1960
1961         Reviewed by Abhishek Arya.
1962
1963         By adding the lifetime state to the RenderNamedFlowThread (r122556), it become possible for the a RenderRegion object to delete its sibling,
1964         the RenderNamedFlowThread. This is unexpected in the rendering world and cause problems in RenderBlock::removeChild where we retain previous
1965         and next sibling pointers.
1966         So, all the RenderNamedFlowThread are created under a RenderFlowThreadContainer object insted of the RenderView. The new object is created only
1967         when the first named flow is created.
1968
1969         Test: fast/regions/remove-flow-thread-crash.html
1970
1971         * CMakeLists.txt:
1972         * GNUmakefile.list.am:
1973         * Target.pri:
1974         * WebCore.gypi:
1975         * WebCore.vcproj/WebCore.vcproj:
1976         * WebCore.xcodeproj/project.pbxproj:
1977         * rendering/FlowThreadController.cpp:
1978         (WebCore::FlowThreadController::FlowThreadController): Added initialization for the new RenderFlowThreadContainer member
1979         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Added the creation of the RenderFlowThreadContainer object and use it as a parent for all RenderNamedFlowThreads
1980         (WebCore::FlowThreadController::styleDidChange): Inform all the RenderNamedFlowThreads that the style changed in regions (initially this code was in RenderView, but now all RenderNamedFlowThreads are children of RenderFlowThreadContainer)
1981         (WebCore):
1982         * rendering/FlowThreadController.h:
1983         (WebCore):
1984         (FlowThreadController):
1985         * rendering/RenderFlowThreadContainer.cpp: Added.
1986         (WebCore):
1987         (WebCore::RenderFlowThreadContainer::RenderFlowThreadContainer):
1988         (WebCore::RenderFlowThreadContainer::layout):
1989         * rendering/RenderFlowThreadContainer.h: Added.
1990         * rendering/RenderObject.cpp:
1991         (WebCore::RenderObject::markContainingBlocksForLayout): Skip to RenderView if the current object is an RenderFlowThreadContainer.
1992         * rendering/RenderObject.h:
1993         (WebCore::RenderObject::isRenderFlowThreadContainer):
1994         * rendering/RenderView.cpp:
1995         (WebCore::RenderView::styleDidChange): Moved the code associated to RenderNamedFlowThreads to FlowThreadController:styleDidChange and call it instead.
1996
1997 2012-08-22  Rob Buis  <rbuis@rim.com>
1998
1999         [BlackBerry] Add RSS content handling support
2000         https://bugs.webkit.org/show_bug.cgi?id=93496
2001
2002         Reviewed by Yong Li.
2003
2004         Cleanup some more.
2005
2006         * platform/network/blackberry/rss/RSSFilterStream.cpp:
2007         (WebCore):
2008         (WebCore::createParser):
2009         (WebCore::defaultEncodingForLanguage):
2010         (WebCore::isTranscodingNeeded):
2011
2012 2012-08-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2013
2014         Remove unused TextDrawingMode flags from GraphicsContext
2015         https://bugs.webkit.org/show_bug.cgi?id=21898
2016
2017         Reviewed by Benjamin Poulain.
2018
2019         Remove TextModeClip and TextModeInvisible. These are not used by any port, and
2020         according to https://bugs.webkit.org/show_bug.cgi?id=42110#c2 these were added
2021         just to map CG existing flags, but are not used.
2022
2023         * platform/graphics/GraphicsContext.h:
2024         * platform/graphics/cg/GraphicsContextCG.cpp:
2025         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2026         * platform/graphics/openvg/PainterOpenVG.cpp:
2027         (WebCore::PainterOpenVG::drawText):
2028         * platform/graphics/skia/PlatformContextSkia.cpp:
2029         (WebCore::PlatformContextSkia::setTextDrawingMode):
2030
2031 2012-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2032
2033         Unreviewed, rolling out r126287.
2034         http://trac.webkit.org/changeset/126287
2035         https://bugs.webkit.org/show_bug.cgi?id=94708
2036
2037         It made WK1 layout testing 3.7x slower (>1hours) (Requested by
2038         ossy on #webkit).
2039
2040         * bridge/qt/qt_instance.cpp:
2041         (JSC::Bindings::unusedWeakObjectMapCallback):
2042         (Bindings):
2043         (JSC::Bindings::WeakMapImpl::WeakMapImpl):
2044         (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
2045         (JSC::Bindings::WeakMap::~WeakMap):
2046         (JSC::Bindings::WeakMap::set):
2047         (JSC::Bindings::WeakMap::get):
2048         (JSC::Bindings::WeakMap::remove):
2049         * bridge/qt/qt_instance.h:
2050         (QtInstance):
2051         * bridge/qt/qt_runtime.cpp:
2052         (JSC::Bindings::prototypeForSignalsAndSlots):
2053         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
2054         (JSC::Bindings::QtRuntimeMethod::call):
2055         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2056         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2057         * bridge/qt/qt_runtime.h:
2058         (QtRuntimeMethod):
2059
2060 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
2061
2062         Not reviewed: follow up to r126297, fixing WebCore.gypi.
2063
2064         * WebCore.gypi:
2065
2066 2012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2067
2068         [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
2069         https://bugs.webkit.org/show_bug.cgi?id=94683
2070
2071         Reviewed by Alejandro G. Castro.
2072
2073         Use a Vector<String> instead of a comma-separated string to
2074         get/set languages.
2075
2076         * platform/text/gtk/TextCheckerEnchant.cpp:
2077         (TextCheckerEnchant::updateSpellCheckingLanguages):
2078         (TextCheckerEnchant::getSpellCheckingLanguages):
2079         * platform/text/gtk/TextCheckerEnchant.h:
2080         (TextCheckerEnchant):
2081
2082 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
2083
2084         Web Inspector: move NavigatorView and NavigatorOverlayController to ScriptsPanel module
2085         https://bugs.webkit.org/show_bug.cgi?id=94693
2086
2087         Reviewed by Vsevolod Vlasov.
2088
2089         Loading them via importScript now.
2090
2091         * inspector/compile-front-end.py:
2092         * inspector/front-end/ScriptsPanel.js:
2093         * inspector/front-end/inspector.html:
2094
2095 2012-08-22  KwangYong Choi  <ky0.choi@samsung.com>
2096
2097         [EFL] Support slider tick mark snapping
2098         https://bugs.webkit.org/show_bug.cgi?id=94560
2099
2100         Reviewed by Kenneth Rohde Christiansen.
2101
2102         Increased the threshold for the EFL port. The value is snapped
2103         when it clicked near tick mark.
2104
2105         No new tests. Covered by fast/forms/datalist/range-snap-to-datalist.html.
2106
2107         * platform/efl/RenderThemeEfl.cpp:
2108         (WebCore):
2109         (WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
2110         * platform/efl/RenderThemeEfl.h:
2111         (RenderThemeEfl):
2112
2113 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2114
2115         [Qt] Optionally support smooth-scrolling on all platforms
2116         https://bugs.webkit.org/show_bug.cgi?id=74926
2117
2118         Reviewed by Simon Hausmann.
2119
2120         Make GestureAnimations depend on the GESTURE_ANIMATION feature flag,
2121         since GestureAnimations are unused on some platforms.
2122
2123         * Target.pri:
2124         * platform/ScrollAnimatorNone.cpp:
2125         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
2126         (WebCore::ScrollAnimatorNone::cancelAnimations):
2127         (WebCore::ScrollAnimatorNone::animationTimerFired):
2128         * platform/ScrollAnimatorNone.h:
2129         (ScrollAnimatorNone):
2130
2131 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
2132
2133         [Qt] Port convertQVariantToValue to use the JSC C API
2134         https://bugs.webkit.org/show_bug.cgi?id=93889
2135
2136         Reviewed by Kenneth Rohde Christiansen.
2137
2138         Based on patch by Noam Rosenthal.
2139
2140         This patch is another step towards reducing the use of internal JSC API
2141         in the Qt bridge. Most of the conversion from QVariant to JS values is
2142         straight-forward. The biggest behavioural change is that QVariant lists
2143         are converted on-the-spot instead of lazily. Bug #94691 tracks fixing
2144         that.
2145
2146         * bridge/qt/qt_instance.cpp:
2147         (Bindings):
2148         (JSC::Bindings::QtField::valueFromInstance):
2149         * bridge/qt/qt_runtime.cpp:
2150         (JSC::Bindings::convertQVariantToValue):
2151         (JSC::Bindings::QtRuntimeMethod::call):
2152         (JSC::Bindings::QtConnectionObject::execute):
2153         (JSC::Bindings::::valueAt):
2154         * bridge/qt/qt_runtime.h:
2155         (Bindings):
2156
2157 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
2158
2159         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
2160         https://bugs.webkit.org/show_bug.cgi?id=93897
2161
2162         Reviewed by Kenneth Rohde Christiansen.
2163
2164         Before r125428 run-time methods (wrapped signals, slots or invokable
2165         functions) were subclasses of JSInternalFunction and therefore real
2166         function objects in the JavaScript sense. r125428 changed them to be
2167         just callable objects, but they did not have Function.prototype as
2168         prototype anymore for example nor was their name correct (resulting in
2169         a layout test failure).
2170
2171         This patch changes run-time methods back to being real function objects
2172         that have a correct name and have Function.prototype in their prototype
2173         change
2174
2175         The objects returned by JSObjectMakeFunctionWithCallbackInjected are
2176         light-weight internal function objects that do not support
2177         JSObject{Set/Get}Private. Therefore we inject our own prototype right
2178         before the Function.prototype prototype, which uses private data to
2179         store a pointer to our C++ QtRuntimeMethod object.  This complicates
2180         the retrieval of the pointer to that instance slightly, which is why
2181         this patch introduces the toRuntimeMethod convenience function that
2182         looks up our prototype first and does a check for type-safety.
2183
2184         At the same time the patch removes the length properties from the
2185         run-time method itself as well as connect/disconnect.  The length
2186         property on a function signifies the number of arguments, but in all
2187         three cases that number is actually variable, because of overloading.
2188         That is why we choose not to expose it in the first place.
2189
2190         In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
2191         JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
2192         either the result of JSObjectMake or the global object of a context ref
2193         (AFAICS), which is ensured using an ASSERT. Objects created via
2194         JSObjectMakeFunctionWithCalllback do not fall into the required
2195         category, cause a failing assertion and can therefore not be stored in
2196         the weak object map.
2197
2198         Consequently this patch removes the use of JSWeakObjectMap again and
2199         goes back to the old way of using the internal Weak<> API, for the time
2200         being. In a future patch the storage will be simplified to not require
2201         the use of a weak object map cache for the run-time methods anymore.
2202
2203         * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
2204         * bridge/qt/qt_instance.h: Remove method cache.
2205         (QtInstance):
2206         * bridge/qt/qt_runtime.cpp:
2207         (JSC::Bindings::prototypeForSignalsAndSlots):
2208         (JSC::Bindings::QtRuntimeMethod::call):
2209         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2210         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
2211         (Bindings):
2212         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2213         * bridge/qt/qt_runtime.h:
2214         (QtRuntimeMethod): Remove unused member variables.
2215
2216 2012-08-22  Christophe Dumez  <christophe.dumez@intel.com>
2217
2218         window.postMessage() / MessagePort.postMessage() throw wrong exception for invalid ports argument
2219         https://bugs.webkit.org/show_bug.cgi?id=94581
2220
2221         Reviewed by Kentaro Hara.
2222
2223         Update JSC and V8 implementations of window.postMessage() and
2224         MessagePort.postMessage() in order to throw an
2225         INVALID_STATE_ERR instead of a DATA_CLONE_ERR when values
2226         in the "ports" argument are invalid. Additionally, we now
2227         check for duplicate ports and throw an exception for this
2228         case as well.
2229
2230         This change was made to comply with the latest HTML5
2231         specification at:
2232         http://www.w3.org/TR/html5/comms.html
2233
2234         No new tests, already tested by:
2235         fast/events/constructors/message-event-constructor.html
2236         fast/events/message-port-clone.html
2237         fast/events/message-port-multi.html
2238         fast/workers/worker-context-multi-port.html
2239         fast/workers/worker-multi-port.html
2240
2241         * bindings/js/JSMessagePortCustom.cpp:
2242         (WebCore::fillMessagePortArray):
2243         * bindings/v8/V8Utilities.cpp:
2244         (WebCore::extractTransferables):
2245         * dom/MessagePort.cpp:
2246         (WebCore::MessagePort::postMessage):
2247
2248 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2249
2250         [TouchAdjustment] Adjust to word or selection
2251         https://bugs.webkit.org/show_bug.cgi?id=94449
2252
2253         Reviewed by Antonio Gomes.
2254
2255         Makes each separate word a separate subtarget when context menu triggers
2256         selections, and only the selected part of a partial selected node a 
2257         target when selections are not overridden.
2258
2259         Fix of reverted commit r126026, fix misplaced ASSERT.
2260
2261         Test: touchadjustment/context-menu-text-subtargets.html
2262
2263         * page/TouchAdjustment.cpp:
2264         (TouchAdjustment):
2265         (WebCore::TouchAdjustment::providesContextMenuItems):
2266         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
2267         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
2268         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
2269         (WebCore::TouchAdjustment::compileSubtargetList):
2270         (WebCore::findBestClickableCandidate):
2271         (WebCore::findBestContextMenuCandidate):
2272
2273 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
2274
2275         Web Inspector: [WebGL] Generic framework draft for tracking WebGL resources
2276         https://bugs.webkit.org/show_bug.cgi?id=90597
2277
2278         Reviewed by Pavel Feldman.
2279
2280         Wrap WebGL rendering context methods and collect a trace log if we are in capturing mode.
2281         Stubbed code for collecting calls contributing to a WebGL resource state so that we could replay them later.
2282
2283         Typical scenario:
2284         - we wrap a GL context with InjectedScript.wrapWebGLContext() and return a proxy to the inspected page
2285         - the proxy saves all calls necessary to do a replay later - only those that modify a resource's state
2286         - when we turn on capturing mode (InjectedScript.captureFrame), we save all WebGL calls to a trace log
2287
2288         * inspector/InjectedScriptSource.js:
2289         (.):
2290         * inspector/InjectedScriptWebGLModuleSource.js:
2291         (.):
2292
2293 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
2294
2295         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
2296         https://bugs.webkit.org/show_bug.cgi?id=88973
2297
2298         Reviewed by Pavel Feldman.
2299
2300         Added the following protocol methods to communicate with the WebGL injected
2301         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
2302
2303         * inspector/CodeGeneratorInspector.py:
2304         * inspector/InjectedScriptWebGLModule.cpp:
2305         (WebCore::InjectedScriptWebGLModule::captureFrame):
2306         (WebCore):
2307         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
2308         (WebCore::InjectedScriptWebGLModule::getTraceLog):
2309         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
2310         * inspector/InjectedScriptWebGLModule.h:
2311         (InjectedScriptWebGLModule):
2312         * inspector/Inspector.json:
2313         * inspector/InspectorController.cpp:
2314         (WebCore::InspectorController::InspectorController):
2315         * inspector/InspectorWebGLAgent.cpp:
2316         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2317         (WebCore::InspectorWebGLAgent::dropTraceLog):
2318         (WebCore):
2319         (WebCore::InspectorWebGLAgent::captureFrame):
2320         (WebCore::InspectorWebGLAgent::getTraceLog):
2321         (WebCore::InspectorWebGLAgent::replayTraceLog):
2322         * inspector/InspectorWebGLAgent.h:
2323         (WebCore):
2324         (WebCore::InspectorWebGLAgent::create):
2325         (InspectorWebGLAgent):
2326
2327 2012-08-22  Hans Wennborg  <hans@chromium.org>
2328
2329         Remove unused field DeleteEntryRequest::m_type
2330         https://bugs.webkit.org/show_bug.cgi?id=94680
2331
2332         Unreviewed build fix.
2333
2334         Remove this unused field. Clang warns about it and it breaks the
2335         Chromium build.
2336
2337         No change in functionality, no new tests.
2338
2339         * inspector/InspectorFileSystemAgent.cpp:
2340         (WebCore):
2341
2342 2012-08-21  Andrey Kosyakov  <caseq@chromium.org>
2343
2344         Web Inspector: console.time() should use performance.now()
2345         https://bugs.webkit.org/show_bug.cgi?id=94263
2346
2347         Reviewed by Pavel Feldman.
2348
2349         - use monotonicallyIncreasingTime() instead of currentTime() for measuring time intervals
2350             with console.time()/console.timeEnd()
2351         - adjust precision to 3 digits after decimal point (i.e. microseconds) when formatting intervals;
2352
2353         * inspector/InspectorConsoleAgent.cpp:
2354         (WebCore::InspectorConsoleAgent::stopTiming):
2355
2356 2012-08-22  Takashi Sakamoto  <tasak@google.com>
2357
2358         Dynamically styling ShadowDom content on a node distributed to another shadow insertion point fails.
2359         https://bugs.webkit.org/show_bug.cgi?id=92899
2360
2361         Reviewed by Hajime Morita.
2362
2363         Since childNeedsStyleRecalc is not cleared when parent nodes are
2364         attached, setNeedsStyleRecalc flag is not reached Document. So,
2365         document() doesn't run re-layout.
2366
2367         Test: fast/dom/shadow/shadowdom-dynamic-styling.html
2368
2369         * dom/ContainerNode.h:
2370         (ContainerNode):
2371         (WebCore::ContainerNode::detachAsNode):
2372         Removed detachAsNode, because the below change made the method
2373         not-used.
2374         * dom/Element.cpp:
2375         (WebCore::Element::detach):
2376         Modify to invoke ContainerNode::detach when any shadow subtree is
2377         attached. ContainerNode::detach takes care of childNeedsStyleRecalc
2378         flag.
2379         * dom/ElementShadow.cpp:
2380         (WebCore::ElementShadow::invalidateDistribution):
2381         Use SetAttached for lazyAttach instead of DoNotSetAttached, because
2382         it is reuired to invoke ContainerNode::detach. If not, attached() is
2383         false and reattach() invokes only attach(). This causes to leave
2384         shadow host's childNeedsStyleRecalc flag true after
2385         Element::recalcStyle.
2386
2387 2012-08-22  Taiju Tsuiki  <tzik@chromium.org>
2388
2389         Web Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
2390         https://bugs.webkit.org/show_bug.cgi?id=91831
2391
2392         Reviewed by Vsevolod Vlasov.
2393
2394         InspectorAgent-side implementation of deleteEntry command.
2395
2396         Test will be added after JS-side implementation landed.
2397
2398         * inspector/Inspector.json:
2399         * inspector/InspectorFileSystemAgent.cpp:
2400         (WebCore):
2401         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
2402         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
2403         (WebCore::InspectorFileSystemAgent::requestMetadata):
2404         (WebCore::InspectorFileSystemAgent::requestFileContent):
2405         (WebCore::InspectorFileSystemAgent::deleteEntry):
2406         (WebCore::InspectorFileSystemAgent::assertFrontend):
2407         * inspector/InspectorFileSystemAgent.h:
2408         (InspectorFileSystemAgent):
2409         * inspector/front-end/FileSystemModel.js:
2410         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
2411         (WebInspector.FileSystemDispatcher.prototype.deletionCompleted):
2412
2413 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
2414
2415         Web Inspector: TabbedPane: measure tab widths in batches.
2416         https://bugs.webkit.org/show_bug.cgi?id=94484
2417
2418         Reviewed by Vsevolod Vlasov.
2419
2420         - Introduces global batch update schema
2421         - Migrates Toolbar and TabbedPane to the new schema
2422
2423         * inspector/front-end/ScriptsPanel.js:
2424         (WebInspector.ScriptsPanel):
2425         * inspector/front-end/TabbedPane.js:
2426         (WebInspector.TabbedPane.prototype.appendTab):
2427         (WebInspector.TabbedPane.prototype._updateTabElements):
2428         (WebInspector.TabbedPane.prototype._innerUpdateTabElements):
2429         (WebInspector.TabbedPane.prototype._updateWidths):
2430         (WebInspector.TabbedPane.prototype._measureWidths):
2431         (WebInspector.TabbedPaneTab):
2432         (WebInspector.TabbedPaneTab.prototype.width):
2433         (WebInspector.TabbedPaneTab.prototype.setWidth):
2434         * inspector/front-end/Toolbar.js:
2435         (WebInspector.Toolbar):
2436         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
2437         (WebInspector.Toolbar.prototype._innerUpdateDropdownButtonAndHideDropdown):
2438         * inspector/front-end/UIUtils.js:
2439         (WebInspector.startBatchUpdate):
2440         (WebInspector.invokeOnceAfterBatchUpdate.get if):
2441         (WebInspector.invokeOnceAfterBatchUpdate):
2442         * inspector/front-end/inspector.js:
2443         * inspector/front-end/utilities.js:
2444
2445 2012-08-21  Kentaro Hara  <haraken@chromium.org>
2446
2447         [V8] Move String related code in V8Binding to a separate file
2448         https://bugs.webkit.org/show_bug.cgi?id=94571
2449
2450         Reviewed by Adam Barth.
2451
2452         This patch moves V8Parameter, V8ParameterBase and String related code
2453         in V8Binding to a separate file.
2454
2455         No tests. No change in behavior.
2456
2457         * UseV8.cmake:
2458         * WebCore.gypi:
2459         * bindings/v8/V8Binding.cpp:
2460         * bindings/v8/V8Binding.h:
2461         * bindings/v8/V8StringResource.cpp: Added.
2462         * bindings/v8/V8StringResource.h: Added.
2463         (WebCore):
2464
2465 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
2466
2467         Implement UndoManager's automatic DOM transactions
2468         https://bugs.webkit.org/show_bug.cgi?id=91812
2469
2470         Reviewed by Ryosuke Niwa.
2471
2472         This patch implements automatic DOM transactions in UndoManager
2473         by recording changes in tree structure, attributes, and character data
2474         of nodes under undo scope host.
2475
2476         Tests: editing/undomanager/automatic-transaction-attribute.html
2477                editing/undomanager/automatic-transaction-data.html
2478                editing/undomanager/automatic-transaction-node.html
2479
2480         * CMakeLists.txt:
2481         * GNUmakefile.list.am:
2482         * WebCore.gypi:
2483         * WebCore.vcproj/WebCore.vcproj:
2484         * WebCore.xcodeproj/project.pbxproj:
2485         * bindings/js/DOMTransaction.h:
2486         (WebCore::DOMTransaction::addTransactionStep):
2487         (DOMTransaction):
2488         * bindings/v8/DOMTransaction.cpp:
2489         (DOMTransactionScope):
2490         (WebCore::DOMTransactionScope::DOMTransactionScope):
2491         (WebCore::DOMTransactionScope::~DOMTransactionScope):
2492         (WebCore):
2493         (WebCore::DOMTransaction::apply):
2494         (WebCore::DOMTransaction::unapply):
2495         (WebCore::DOMTransaction::reapply):
2496         * bindings/v8/DOMTransaction.h:
2497         (WebCore::DOMTransaction::addTransactionStep):
2498         (DOMTransaction):
2499         * css/PropertySetCSSStyleDeclaration.cpp:
2500         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2501         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2502         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
2503         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2504         * dom/CharacterData.cpp:
2505         (WebCore::CharacterData::setDataAndUpdate):
2506         * dom/ContainerNode.cpp:
2507         (WebCore::willRemoveChild):
2508         (WebCore::willRemoveChildren):
2509         (WebCore::updateTreeAfterInsertion):
2510         * dom/Element.cpp:
2511         (WebCore::Element::willModifyAttribute):
2512         * editing/DOMTransactionStep.cpp: Added.
2513         (WebCore):
2514         (WebCore::NodeInsertingDOMTransactionStep::NodeInsertingDOMTransactionStep):
2515         (WebCore::NodeInsertingDOMTransactionStep::create):
2516         (WebCore::NodeInsertingDOMTransactionStep::unapply):
2517         (WebCore::NodeInsertingDOMTransactionStep::reapply):
2518         (WebCore::NodeRemovingDOMTransactionStep::NodeRemovingDOMTransactionStep):
2519         (WebCore::NodeRemovingDOMTransactionStep::create):
2520         (WebCore::NodeRemovingDOMTransactionStep::unapply):
2521         (WebCore::NodeRemovingDOMTransactionStep::reapply):
2522         (WebCore::DataReplacingDOMTransactionStep::DataReplacingDOMTransactionStep):
2523         (WebCore::DataReplacingDOMTransactionStep::create):
2524         (WebCore::DataReplacingDOMTransactionStep::unapply):
2525         (WebCore::DataReplacingDOMTransactionStep::reapply):
2526         (WebCore::AttrChangingDOMTransactionStep::AttrChangingDOMTransactionStep):
2527         (WebCore::AttrChangingDOMTransactionStep::create):
2528         (WebCore::AttrChangingDOMTransactionStep::unapply):
2529         (WebCore::AttrChangingDOMTransactionStep::reapply):
2530         * editing/DOMTransactionStep.h: Added.
2531         (WebCore):
2532         (DOMTransactionStep):
2533         (WebCore::DOMTransactionStep::~DOMTransactionStep):
2534         (NodeInsertingDOMTransactionStep):
2535         (NodeRemovingDOMTransactionStep):
2536         (DataReplacingDOMTransactionStep):
2537         (AttrChangingDOMTransactionStep):
2538         * editing/UndoManager.cpp:
2539         (WebCore):
2540         (WebCore::UndoManager::isRecordingAutomaticTransaction):
2541         (WebCore::UndoManager::addTransactionStep):
2542         * editing/UndoManager.h:
2543         (WebCore):
2544         (WebCore::UndoManager::setRecordingDOMTransaction):
2545         (UndoManager):
2546
2547 2012-08-21  Shezan Baig  <sbaig1@bloomberg.net>
2548
2549         Fix cross-direction stretch for replaced elements in row flexbox
2550         https://bugs.webkit.org/show_bug.cgi?id=94237
2551
2552         Reviewed by Ojan Vafai.
2553
2554         When stretching, don't take into account the instrinsic size of child
2555         replaced elements. Only the fixed size, min size, and max size of the
2556         child should be taken into account. The logic that computed this was
2557         moved from RenderBox::computeLogicalHeight to a new helper method
2558         called logicalHeightConstrainedByMinMax.  This helper method is now
2559         used from RenderFlexibleBox::applyStretchAlignmentToChild, instead of
2560         using RenderBox::computeLogicalHeight.
2561
2562         A similar change will need to be made for column-flowing flexboxes.
2563         This will be addressed in https://webkit.org/b/94604.
2564
2565         No new tests.  The existing css3/flexbox/flexitem.html test was
2566         extended to cover this case.
2567
2568         * rendering/RenderBox.cpp:
2569         (WebCore::RenderBox::logicalHeightConstrainedByMinMax): New helper
2570         method that is used by RenderBox::computeLogicalHeight and also by
2571         RenderFlexibleBox::applyStretchAlignmentToChild.
2572         (WebCore):
2573         (WebCore::RenderBox::computeLogicalHeight): Updated to use the new
2574         logicalHeightConstrainedByMinMax helper method.
2575         * rendering/RenderBox.h:
2576         (RenderBox):
2577         * rendering/RenderFlexibleBox.cpp:
2578         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
2579         logicalHeightConstrainedByMinMax instead of computeLogicalHeight.
2580
2581 2012-08-21  Hayato Ito  <hayato@chromium.org>
2582
2583         Make an event object clonable to support an event propagation across seamless iframes.
2584         https://bugs.webkit.org/show_bug.cgi?id=93678
2585
2586         Reviewed by Dimitri Glazkov.
2587
2588         We should clone an event object when a event propagates across
2589         seamless iframes.  Currently Event and MouseEvent are
2590         supported. Support for other kinds of events will be addressed
2591         later.
2592
2593         This is one of the pre-requirements to support an event
2594         propagation across seamless iframes.
2595
2596         No new tests, no behavior change.
2597
2598         * dom/Event.cpp:
2599         (WebCore::Event::cloneFor):
2600         (WebCore):
2601         * dom/Event.h:
2602         (WebCore):
2603         (Event):
2604         * dom/MouseEvent.cpp:
2605         (WebCore::adjustedClinetX):
2606         (WebCore):
2607         (WebCore::adjustedClinetY):
2608         (WebCore::MouseEvent::cloneFor):
2609         * dom/MouseEvent.h:
2610         (MouseEvent):
2611
2612 2012-08-21  Joshua Bell  <jsbell@chromium.org>
2613
2614         IndexedDB: IDBRequest can be GCd during event dispatch
2615         https://bugs.webkit.org/show_bug.cgi?id=94235
2616
2617         Reviewed by Ojan Vafai.
2618
2619         Avoid a "race" where GC may attempt to reclaim IDB objects that are marked
2620         "done" prior to the completion of the event dispatch. The script runtime
2621         may decide to do a GC pass before calling the event handler, releasing the
2622         object and turning the dispatch into a no-op.
2623
2624         This is a partial reversion (with renames, etc) of r123275, r124842,
2625         and r121492. Added a new test, although it does not exercise the "race"
2626         condition directly.
2627
2628         Test: storage/indexeddb/pending-activity.html
2629               storage/indexeddb/pending-activity-workers.html
2630
2631         * Modules/indexeddb/IDBCursor.cpp:
2632         (WebCore::IDBCursor::close): Let the IDBRequest know it this cursor won't
2633         make it fire again.
2634         * Modules/indexeddb/IDBRequest.cpp:
2635         (WebCore::IDBRequest::IDBRequest): Reintroduce "am I done?" flag.
2636         (WebCore::IDBRequest::finishCursor): Cursors may fire events at the same
2637         IDBRequest repeatedly, so we need to know when they're are really done.
2638         (WebCore):
2639         (WebCore::IDBRequest::hasPendingActivity): Test the flag.
2640         (WebCore::IDBRequest::dispatchEvent): Set the flag.
2641         * Modules/indexeddb/IDBRequest.h:
2642         (IDBRequest):
2643         * Modules/indexeddb/IDBTransaction.cpp:
2644         (WebCore::IDBTransaction::IDBTransaction): Reintroduce "am I done?" flag.
2645         (WebCore::IDBTransaction::hasPendingActivity): Test the flag.
2646         (WebCore::IDBTransaction::dispatchEvent): Set the flag.
2647         * Modules/indexeddb/IDBTransaction.h:
2648
2649 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
2650
2651         Web Inspector: [regression] Settings panel fails to open.
2652         https://bugs.webkit.org/show_bug.cgi?id=94647
2653
2654         Unreviewed: one line JS front-end fix.
2655
2656         * inspector/front-end/ScriptsSearchScope.js:
2657         * inspector/front-end/Settings.js:
2658
2659 2012-08-21  Julien Chaffraix  <jchaffraix@webkit.org>
2660
2661         Crash in RenderTableSection::setCellLogicalWidths
2662         https://bugs.webkit.org/show_bug.cgi?id=94291
2663
2664         Reviewed by Abhishek Arya.
2665
2666         This issue was that splitAnonymousBoxesAroundChild would move a table section
2667         into a newly created table *without* marking it as needing cell recalc. The table
2668         would thus never build its structure to match its sections. The fix is to hop on
2669         the new willBeRemovedFromTree signal so that the section invalidates itself properly.
2670
2671         Test: fast/table/crash-split-table-section-no-cell-recalc.html
2672
2673         * rendering/RenderTableSection.cpp:
2674         (WebCore::RenderTableSection::willBeRemovedFromTree):
2675         * rendering/RenderTableSection.h:
2676         Replaced willBeDestroyed by willBeRemovedFromTree in RenderTableSection. This ensures that it is called
2677         when moving sections in the tree to mark them as needing cell recalc.
2678
2679 2012-08-21  Yoshifumi Inoue  <yosin@chromium.org>
2680
2681         [Forms] multiple fields time input UI should not have two focus ring.
2682         https://bugs.webkit.org/show_bug.cgi?id=94579
2683
2684         Reviewed by Hajime Morita.
2685
2686         This patch adds CSS selectors to override focus style for multiple
2687         fields time input UI.
2688
2689         No new tests. fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
2690         is updated for including focus state appearance.
2691
2692         * css/html.css:
2693         (input::-webkit-datetime-edit-ampm-field:focus): Override default focus appearance.
2694         (input::-webkit-datetime-edit-hour-field:focus): ditto
2695         (input::-webkit-datetime-edit-millisecond-field:focus): ditto
2696         (input::-webkit-datetime-edit-minute-field:focus): ditto
2697         (input::-webkit-datetime-edit-second-field:focus): ditto
2698
2699 2012-08-21  Adam Barth  <abarth@webkit.org>
2700
2701         V8 shouldn't have its own way of printing cross-origin error messages
2702         https://bugs.webkit.org/show_bug.cgi?id=94641
2703
2704         Reviewed by Eric Seidel.
2705
2706         V8 used to re-implement (poorly) the code for printing out an error
2707         message when a same-origin check failed. This patch deletes that code
2708         in favor of just calling the WebCore version of the code. There more to
2709         clean up here, but I had to stop before spidering over the whole
2710         codebase.
2711
2712         * bindings/generic/BindingSecurity.cpp:
2713         (WebCore::canAccessDocument):
2714         * bindings/js/BindingState.cpp:
2715         * bindings/js/BindingState.h:
2716         * bindings/v8/BindingState.cpp:
2717         (WebCore::printErrorMessageForFrame):
2718         * bindings/v8/BindingState.h:
2719         (WebCore):
2720         * bindings/v8/V8DOMWindowShell.cpp:
2721         (WebCore::reportUnsafeJavaScriptAccess):
2722         * bindings/v8/V8Proxy.cpp:
2723         * bindings/v8/V8Proxy.h:
2724         (V8Proxy):
2725
2726 2012-08-21  Shinya Kawanaka  <shinyak@chromium.org>
2727
2728         A shadow element in ShadowDOM of a button element does not work.
2729         https://bugs.webkit.org/show_bug.cgi?id=91486
2730
2731         Reviewed by Dimitri Glazkov.
2732
2733         Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM
2734         just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM.
2735         So we have to prevent it from creating UserAgentShadowDOM.
2736
2737         Test: fast/dom/shadow/shadowdom-for-button.html
2738
2739         * html/HTMLButtonElement.cpp:
2740         (WebCore::HTMLButtonElement::willAddAuthorShadowRoot):
2741         (WebCore):
2742         * html/HTMLButtonElement.h:
2743
2744 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
2745
2746         Remove UndoManager's undoscope content attribute
2747         https://bugs.webkit.org/show_bug.cgi?id=94637
2748
2749         Reviewed by Ryosuke Niwa.
2750
2751         No new tests. Covered by existing tests.
2752
2753         * bindings/v8/DOMTransaction.cpp:
2754         (WebCore::DOMTransaction::callFunction):
2755         * dom/Document.cpp:
2756         (WebCore::Document::undoManager):
2757         * dom/Element.cpp:
2758         (WebCore::Element::~Element):
2759         (WebCore):
2760         * dom/Element.h:
2761         (Element):
2762         * dom/Element.idl:
2763         * dom/ElementRareData.h:
2764         (ElementRareData):
2765         * editing/UndoManager.cpp:
2766         (WebCore::UndoManager::create):
2767         (WebCore::UndoManager::UndoManager):
2768         (WebCore::UndoManager::disconnect):
2769         (WebCore::UndoManager::transact):
2770         (WebCore::UndoManager::undo):
2771         (WebCore::UndoManager::redo):
2772         (WebCore::UndoManager::clearUndo):
2773         (WebCore::UndoManager::clearRedo):
2774         (WebCore):
2775         * editing/UndoManager.h:
2776         (WebCore):
2777         (UndoManager):
2778         (WebCore::UndoManager::document):
2779         (WebCore::UndoManager::ownerNode):
2780         * html/HTMLAttributeNames.in:
2781         * html/HTMLElement.cpp:
2782         (WebCore::HTMLElement::parseAttribute):
2783         (WebCore::HTMLElement::setContentEditable):
2784
2785 2012-08-21  Joanmarie Diggs  <jdiggs@igalia.com>
2786
2787         [Gtk] No accessible caret-moved events found in certain content
2788         https://bugs.webkit.org/show_bug.cgi?id=72811
2789
2790         Reviewed by Chris Fleizach.
2791
2792         Part of the bug is due to objects which should claim to implement AtkText
2793         failed to do so as a result of containing a mixture of inline and block
2794         spans.
2795
2796         An updated unit test was provided.
2797
2798         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2799         (roleIsTextType): New method to check if a role is one expected to have
2800         implemented the AtkText interface. Currently that is defined as:
2801          - ParagraphRole
2802          - HeadingRole
2803          - DivRole
2804          - CellRole
2805         (getInterfaceMaskFromObject): If a role is one of the text type roles,
2806         automatically add WAI_TEXT to the accessible object's interface mask.
2807
2808 2012-08-21  Tony Chang  <tony@chromium.org>
2809
2810         Force XML comments to maintain whitespace
2811         https://bugs.webkit.org/show_bug.cgi?id=94620
2812
2813         Reviewed by Pavel Feldman.
2814
2815         Fix a typo in XMLViewer.css for white-space formatting. This seems
2816         like the desired behavior so you can see, e.g., code formatted in an
2817         XML comment.
2818
2819         Covered by existing xmlviewer tests in http/tests/xmlviewer/dumpAsText
2820
2821         * xml/XMLViewer.css:
2822         (.comment): Fix typo.
2823         * xml/XMLViewer.js:
2824         (createComment): Add style to comment nodes.
2825
2826 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2827
2828         Unreviewed, rolling out r126202.
2829         http://trac.webkit.org/changeset/126202
2830         https://bugs.webkit.org/show_bug.cgi?id=94657
2831
2832         Causes assertion failures on Chromium Linux dbg compositing
2833         layout tests (Requested by dominicc on #webkit).
2834
2835         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2836         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2837         * platform/graphics/chromium/LayerRendererChromium.cpp:
2838         (WebCore::applyFilters):
2839         (WebCore::LayerRendererChromium::drawRenderPassQuad):
2840         (WebCore::LayerRendererChromium::drawTileQuad):
2841         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
2842         (WebCore::LayerRendererChromium::drawTextureQuad):
2843         (WebCore::LayerRendererChromium::getFramebufferTexture):
2844         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
2845         * platform/graphics/chromium/LayerRendererChromium.h:
2846         (LayerRendererChromium):
2847         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
2848         (WebCore::CCResourceProvider::createResource):
2849         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
2850         (WebCore::CCResourceProvider::deleteResource):
2851         (WebCore::CCResourceProvider::upload):
2852         (WebCore::CCResourceProvider::lockForWrite):
2853         (WebCore::CCResourceProvider::unlockForWrite):
2854         (WebCore::CCResourceProvider::flush):
2855         (WebCore::CCResourceProvider::shallowFlushIfSupported):
2856         (WebCore::CCResourceProvider::lockForRead):
2857         (WebCore::CCResourceProvider::unlockForRead):
2858         (WebCore::CCResourceProvider::CCResourceProvider):
2859         * platform/graphics/chromium/cc/CCResourceProvider.h:
2860         (WebCore):
2861         (CCResourceProvider):
2862         (WebCore::CCResourceProvider::Resource::Resource):
2863         (Resource):
2864         (CCScopedLockResourceForRead):
2865         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
2866         (WebCore::CCScopedLockResourceForRead::~CCScopedLockResourceForRead):
2867         (WebCore::CCScopedLockResourceForRead::textureId):
2868         (CCScopedLockResourceForWrite):
2869         (WebCore::CCScopedLockResourceForWrite::CCScopedLockResourceForWrite):
2870         (WebCore::CCScopedLockResourceForWrite::~CCScopedLockResourceForWrite):
2871         (WebCore::CCScopedLockResourceForWrite::textureId):
2872
2873 2012-08-21  David Grogan  <dgrogan@chromium.org>
2874
2875         IndexedDB: Fire error at request when abort is called in upgradeneeded
2876         https://bugs.webkit.org/show_bug.cgi?id=94402
2877
2878         Reviewed by Tony Chang.
2879
2880         Tests - updated intversion-abort-in-initial-upgradeneeded-expected.txt
2881
2882         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2883         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
2884         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
2885         (WebCore):
2886         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
2887         Now that second-half open calls don't get abandoned on the queue, we
2888         can ASSERT that there's at most one of them at any time.
2889
2890         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2891         (IDBDatabaseBackendImpl):
2892         * Modules/indexeddb/IDBRequest.cpp:
2893         (WebCore::IDBRequest::dispatchEvent):
2894         Move setting m_didFireUpgradeNeededEvent before dispatching the event.
2895         If abort is called in the event handler an error event will be
2896         enqueued and ASSERT_WITH_MESSAGE(m_readyState == PENDING ||
2897         m_didFireUpgradeNeededEvent, ...) needs to pass.
2898
2899         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2900         (WebCore::IDBTransactionBackendImpl::abort):
2901         (WebCore::IDBTransactionBackendImpl::commit):
2902
2903 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2904
2905         Unreviewed, rolling out r126233.
2906         http://trac.webkit.org/changeset/126233
2907         https://bugs.webkit.org/show_bug.cgi?id=94656
2908
2909         Broke Chromium Mac build (Requested by dominicc on #webkit).
2910
2911         * CMakeLists.txt:
2912         * GNUmakefile.list.am:
2913         * Target.pri:
2914         * WebCore.gypi:
2915         * WebCore.vcproj/WebCore.vcproj:
2916         * WebCore.xcodeproj/project.pbxproj:
2917         * css/mediaControls.css:
2918         (video::-webkit-media-text-track-display):
2919         * html/shadow/MediaControlElements.cpp:
2920         (RenderTextTrackContainerElement):
2921         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2922         * html/track/TextTrack.cpp:
2923         * html/track/TextTrack.h:
2924         (TextTrack):
2925         * html/track/TextTrackCue.cpp:
2926         (WebCore::TextTrackCue::TextTrackCue):
2927         (WebCore::TextTrackCue::calculateComputedLinePosition):
2928         (WebCore::TextTrackCue::calculateDisplayParameters):
2929         (WebCore::TextTrackCue::getDisplayTree):
2930         (WebCore::TextTrackCue::getPositionCoordinates):
2931         * html/track/TextTrackCue.h:
2932         (WebCore):
2933         (TextTrackCue):
2934         * rendering/RenderTextTrackCue.cpp: Removed.
2935         * rendering/RenderTextTrackCue.h: Removed.
2936
2937 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2938
2939         [V8] Remove getToStringName() and getToStringTemplate() from V8Binding
2940         https://bugs.webkit.org/show_bug.cgi?id=94573
2941
2942         Reviewed by Adam Barth.
2943
2944         - Remove V8Binding::getToStringName() and V8Binding::getToStringTemplate().
2945
2946         - Replace getToStringName() with String::NewSymbol("toString").
2947
2948         - Fix V8PerIsolateData::getToStringTemplate() so that it caches a persistent
2949         handle of a created FunctionTemplate. Before this patch, a FunctionTemplate
2950         had been created for each toString().
2951
2952         No tests. No change in behavior.
2953
2954         * bindings/v8/V8Binding.cpp:
2955         (WebCore::constructorToString):
2956         * bindings/v8/V8Binding.h:
2957         (WebCore):
2958         * bindings/scripts/CodeGeneratorV8.pm:
2959         (GenerateImplementation):
2960         * bindings/scripts/test/V8/V8Float64Array.cpp:
2961         (WebCore::ConfigureV8Float64ArrayTemplate):
2962         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2963         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2964         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2965         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2966         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2967         (WebCore::ConfigureV8TestEventConstructorTemplate):
2968         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2969         (WebCore::ConfigureV8TestEventTargetTemplate):
2970         * bindings/scripts/test/V8/V8TestException.cpp:
2971         (WebCore::ConfigureV8TestExceptionTemplate):
2972         * bindings/scripts/test/V8/V8TestInterface.cpp:
2973         (WebCore::ConfigureV8TestInterfaceTemplate):
2974         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2975         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2976         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2977         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2978         * bindings/scripts/test/V8/V8TestNode.cpp:
2979         (WebCore::ConfigureV8TestNodeTemplate):
2980         * bindings/scripts/test/V8/V8TestObj.cpp:
2981         (WebCore::ConfigureV8TestObjTemplate):
2982         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2983         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2984         * bindings/v8/V8PerIsolateData.h:
2985         (V8PerIsolateData):
2986
2987 2012-08-21  Arvid Nilsson  <anilsson@rim.com>
2988
2989         [BlackBerry] WebGL Aquarium fails to render
2990         https://bugs.webkit.org/show_bug.cgi?id=94634
2991
2992         The aquarium leaves with a glColorMask(false, false, false, true) which
2993         caused us to fail to blit the color components of the aquarium to the
2994         EGLImage.
2995
2996         Fixed by setting an appropriate color mask for a blit operation.
2997
2998         Reviewed by Yong Li.
2999
3000         No new tests, tested manually.
3001
3002         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
3003         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
3004
3005 2012-08-21  Victor Carbune  <victor@rosedu.org>
3006
3007         Display a TextTrackCue when snap-to-lines flag is set
3008         https://bugs.webkit.org/show_bug.cgi?id=79751
3009
3010         Reviewed by Tony Chang.
3011
3012         This patch implements rendering functionality for a given text track,
3013         following closer the exact WebVTT specification. There are two new classes
3014         which have been added in order to succesfully cover rendering when of a text
3015         track cue.
3016
3017         RenderTextTrackCue handles the specific rendering algorithm required,
3018         by checking for overlaps with other boxes that are in the same
3019         container (these can be any other boxes, not necessarily other cues,
3020         the video controls, for example).
3021
3022         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
3023         between the renderer class and the actual cue object. Its purpose is
3024         to instantiate the particular renderer and cover all the default CSS
3025         styling that needs to be applied to the cue.
3026
3027         The layout is done in two steps:
3028           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
3029         the TextTrackCueBox decorated with the respective CSS elements)
3030           - Step 2: RenderTextTrackCue adjusts the box position depending on the
3031         parameters of the TextTrackCue object and the overlaps that may occur with
3032         previously positioned cues.
3033
3034         Tests: media/track/track-cue-rendering-horizontal.html
3035                media/track/track-cue-rendering-vertical.html
3036
3037         * CMakeLists.txt: Updated to include RenderTextTrackCue.
3038         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
3039         * Target.pri: Updated to include RenderTextTrackCue.
3040         * WebCore.gypi: Updated to include RenderTextTrackCue.
3041         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
3042         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
3043         * css/mediaControls.css: Removed unreliable CSS.
3044         (video::-webkit-media-text-track-display): Removed properties.
3045         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
3046         (RenderTextTrackContainerElement):
3047         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
3048         the function by moving the check if track is rendered in TextTrack and used
3049         the TextTrackCueBox for cues.
3050         * html/track/TextTrack.cpp: Added a new method.
3051         (WebCore::TextTrack::isRendered): Method that returns whether the track should
3052         be rendered or not.
3053         (WebCore):
3054         * html/track/TextTrack.h: Added the isRendered method.
3055         (TextTrack):
3056         * html/track/TextTrackCue.cpp: Added several helper methods and
3057         the TextTrackCueBox.
3058         (WebCore):
3059         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
3060         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
3061         and TextTrackCue. This is required as the layout is done in two steps, as
3062         explained on top of the ChangeLog entry.
3063         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
3064         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
3065         properties, as defined by section 3.5.1 of the WebVTT specification.
3066         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
3067         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
3068         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
3069         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
3070         position algorithm. This requires, however, a method to consider only rendered
3071         tracks (and therefore will be addressed completely in subsequent changeset).
3072         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
3073         computed display parameters to match the current specification.
3074         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
3075         and moved CSS application to the respective class.
3076         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
3077         situation this method is used and change visibility to private.
3078         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
3079         to the cue writing mode.
3080         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
3081         writing direction.
3082         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
3083         used in the first layout step.
3084         * html/track/TextTrackCue.h:
3085         (WebCore):
3086         (TextTrackCueBox):
3087         (WebCore::TextTrackCueBox::create): Initialization method.
3088         (TextTrackCue):
3089         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
3090         values used to represent the writing direction.
3091         * rendering/RenderTextTrackCue.cpp: Added.
3092         (WebCore):
3093         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
3094         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
3095         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
3096         case. It is implemented following closely the spec, and might be subject to
3097         change as discussions on various bugs evolve.
3098         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
3099         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
3100         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
3101         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
3102         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
3103         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
3104         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
3105         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
3106         for text track cue when the snap to lines flag is set.
3107         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
3108         for text track cue when the snap to lines flag is not set. Not implemented yet.
3109         * rendering/RenderTextTrackCue.h: Added.
3110         (WebCore):
3111         (RenderTextTrackCue): Rendering class, handling the display of cues.
3112
3113 2012-08-21  Lianghui Chen  <liachen@rim.com>
3114
3115         [BlackBerry] Add RSS content handling support
3116         https://bugs.webkit.org/show_bug.cgi?id=93496
3117
3118         Reviewed by Rob Buis.
3119
3120         Add code to filter RSS content, and properly convert them to HTML
3121         content so they can display nicely, instead of as plain text.
3122
3123         Following modules are included:
3124
3125         RSSFilterStream: the code for detecting RSS content, and controlling
3126         the handling of these content.
3127
3128         RSSParserBase: the base class for the following 3 RSS parser.
3129         RSS10Parser: the code for decoding RSS 1.0 content.
3130         RSS20Parser: the code for decoding RSS 2.0 content.
3131         RSSAtomParser: the code for decoding Atom format RSS content.
3132         RSSGenerator: the code for generating HTML content based on RSS feed.
3133
3134         No new tests as it's not changing how HTML content is handled.
3135
3136         * PlatformBlackBerry.cmake:
3137         * platform/network/blackberry/NetworkJob.cpp:
3138         (WebCore::NetworkJob::initialize):
3139         * platform/network/blackberry/rss/RSS10Parser.cpp: Added.
3140         (WebCore):
3141         (WebCore::RSS10Parser::RSS10Parser):
3142         (WebCore::RSS10Parser::parseBuffer):
3143         (WebCore::RSS10Parser::parseXmlDoc):
3144         (WebCore::RSS10Parser::parseItemBaseAttribute):
3145         (WebCore::RSS10Parser::parseItem):
3146         (WebCore::RSS10Parser::parseFeed):
3147         * platform/network/blackberry/rss/RSS10Parser.h: Added.
3148         (WebCore):
3149         (RSS10Parser):
3150         * platform/network/blackberry/rss/RSS20Parser.cpp: Added.
3151         (WebCore):
3152         (WebCore::RSS20Parser::RSS20Parser):
3153         (WebCore::RSS20Parser::parseBuffer):
3154         (WebCore::RSS20Parser::parseXmlDoc):
3155         (WebCore::RSS20Parser::parseItemBaseAttribute):
3156         (WebCore::RSS20Parser::parseItem):
3157         (WebCore::RSS20Parser::parseFeed):
3158         (WebCore::RSS20Parser::parseEnclosure):
3159         * platform/network/blackberry/rss/RSS20Parser.h: Added.
3160         (WebCore):
3161         (RSS20Parser):
3162         * platform/network/blackberry/rss/RSSAtomParser.cpp: Added.
3163         (WebCore):
3164         (WebCore::isRelativePath):
3165         (WebCore::RSSAtomLink::relType):
3166         (WebCore::RSSAtomParser::RSSAtomParser):
3167         (WebCore::RSSAtomParser::parseBuffer):
3168         (WebCore::RSSAtomParser::parseXmlDoc):
3169         (WebCore::RSSAtomParser::parseItemBaseAttribute):
3170         (WebCore::RSSAtomParser::parseItem):
3171         (WebCore::RSSAtomParser::parseFeed):
3172         (WebCore::RSSAtomParser::parseLink):
3173         (WebCore::RSSAtomParser::enclosureFromLink):
3174         (WebCore::RSSAtomParser::parseContent):
3175         (WebCore::RSSAtomParser::parseAuthor):
3176         (WebCore::RSSAtomParser::parseCategory):
3177         * platform/network/blackberry/rss/RSSAtomParser.h: Added.
3178         (WebCore):
3179         (RSSAtomLink):
3180         (WebCore::RSSAtomLink::RSSAtomLink):
3181         (RSSAtomParser):
3182         * platform/network/blackberry/rss/RSSFilterStream.cpp: Added.
3183         (WebCore):
3184         (WebCore::isASCIISpaceLowerByte):
3185         (WebCore::stripWhiteSpace):
3186         (WebCore::equalIgnoringCase):
3187         (WebCore::isAtomMIMEType):
3188         (WebCore::isRSSMIMEType):
3189         (WebCore::isPotentialRSSMIMEType):
3190         (WebCore::isRSSContent):
3191         (WebCore::RSSTypeFromContentType):
3192         (WebCore::RSSTypeFromContent):
3193         (WebCore::createParser):
3194         (WebCore::findXMLEncodingPosition):
3195         (WebCore::findXMLLanguagePosition):
3196         (WebCore::defaultEncodingForLanguage):
3197         (WebCore::isTranscodingNeeded):
3198         (WebCore::transcode):
3199         (WebCore::transcodeContent):
3200         (WebCore::RSSFilterStream::RSSFilterStream):
3201         (WebCore::RSSFilterStream::notifyStatusReceived):
3202         (WebCore::RSSFilterStream::notifyHeadersReceived):
3203         (WebCore::RSSFilterStream::notifyDataReceived):
3204         (WebCore::RSSFilterStream::notifyClose):
3205         (WebCore::RSSFilterStream::convertContentToHtml):
3206         (WebCore::RSSFilterStream::handleRSSContent):
3207         (WebCore::RSSFilterStream::charset):
3208         (WebCore::RSSFilterStream::encoding):
3209         (WebCore::RSSFilterStream::saveHeaders):
3210         (WebCore::RSSFilterStream::removeHeader):
3211         (WebCore::RSSFilterStream::updateHeader):
3212         (WebCore::RSSFilterStream::updateRSSHeaders):
3213         (WebCore::RSSFilterStream::sendSavedHeaders):
3214         (WebCore::RSSFilterStream::appendData):
3215         * platform/network/blackberry/rss/RSSFilterStream.h: Added.
3216         (WebCore):
3217         (RSSFilterStream):
3218         * platform/network/blackberry/rss/RSSGenerator.cpp: Added.
3219         (WebCore):
3220         (WebCore::RSSGenerator::RSSGenerator):
3221         (WebCore::RSSGenerator::~RSSGenerator):
3222         (WebCore::RSSGenerator::generateHtml):
3223         * platform/network/blackberry/rss/RSSGenerator.h: Added.
3224         (WebCore):
3225         (RSSGenerator):
3226         * platform/network/blackberry/rss/RSSParserBase.cpp: Added.
3227         (WebCore):
3228         (WebCore::RSSEnclosure::RSSEnclosure):
3229         (WebCore::RSSEnclosure::typeInEnum):
3230         (WebCore::RSSEnclosure::suggestedName):
3231         (WebCore::RSSFeed::RSSFeed):
3232         (WebCore::RSSFeed::~RSSFeed):
3233         (WebCore::RSSFeed::clear):
3234         (WebCore::RSSItem::RSSItem):
3235         (WebCore::RSSItem::~RSSItem):
3236         (WebCore::RSSItem::clear):
3237         (WebCore::RSSParserBase::RSSParserBase):
3238         (WebCore::RSSParserBase::~RSSParserBase):
3239         (WebCore::textFromXMLAttr):
3240         (WebCore::textFromXMLNode):
3241         * platform/network/blackberry/rss/RSSParserBase.h: Added.
3242         (WebCore):
3243         (RSSEnclosure):
3244         (RSSItemBase):
3245         (RSSParserBase):
3246
3247 2012-08-21  Andrew Lo  <anlo@rim.com>
3248
3249         [BlackBerry] requestAnimationFrame: Unscheduled display link frames need to be sent to main thread
3250         https://bugs.webkit.org/show_bug.cgi?id=94600
3251
3252         Reviewed by Rob Buis.
3253
3254         http://trac.webkit.org/changeset/116792 implements destroying
3255         DisplayRefreshMonitor after the number of unscheduled frames exceeds 10.
3256
3257         Part of that change involves dispatching to the main thread whether
3258         the frame was scheduled or not.
3259
3260         Make the corresponding change for the BlackBerry port that was made for
3261         DisplayRefreshMonitorMac.cpp.
3262
3263         Tests covered by http://trac.webkit.org/changeset/116792
3264
3265         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
3266         (WebCore::DisplayRefreshMonitor::displayLinkFired):
3267
3268 2012-08-21  Brian Salomon  <bsalomon@google.com>
3269
3270         [Chromium/Skia] Filters should flush the SkCanvas
3271         https://bugs.webkit.org/show_bug.cgi?id=94602
3272
3273         Reviewed by Stephen White.
3274
3275         Adds a SkCanvas::flush call to FilterBufferState::swap() to ensure the textures are updated before they are consumed by the compositor.
3276
3277         Covered by existing css3/filters layout tests.
3278
3279         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
3280
3281 2012-08-21  Lianghui Chen  <liachen@rim.com>
3282
3283         [BlackBerry] Use new method to create socket handle
3284         https://bugs.webkit.org/show_bug.cgi?id=89991
3285
3286         Reviewed by Rob Buis.
3287
3288         Update the way to create SocketStream as the platform API has changed.
3289
3290         No new tests as no change of behaviour, just API change adaptation.
3291
3292         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
3293         (WebCore::SocketStreamHandle::SocketStreamHandle):
3294
3295 2012-08-21  Kentaro Hara  <haraken@chromium.org>
3296
3297         [V8] Move compileScript() from V8Proxy to ScriptSourceCode
3298         https://bugs.webkit.org/show_bug.cgi?id=94561
3299
3300         Reviewed by Adam Barth.
3301
3302         To kill V8Proxy, this patch moves compileScript() from V8Proxy
3303         to ScriptSourceCode. This patch also removes fromWebCoreString().
3304
3305         No tests. No change in behavior.
3306
3307         * UseV8.cmake:
3308         * WebCore.gypi:
3309         * bindings/v8/ScriptController.h:
3310         (ScriptController):
3311         * bindings/v8/ScriptSourceCode.cpp: Added.
3312         (WebCore):
3313         (WebCore::ScriptSourceCode::compileScript):
3314         * bindings/v8/ScriptSourceCode.h:
3315         (ScriptSourceCode):
3316         * bindings/v8/V8Binding.h:
3317         * bindings/v8/V8LazyEventListener.cpp:
3318         (WebCore::V8LazyEventListener::prepareListenerObject):
3319         * bindings/v8/V8Proxy.cpp:
3320         (WebCore::V8Proxy::evaluate):
3321         * bindings/v8/V8Proxy.h:
3322         (V8Proxy):
3323         * bindings/v8/WorkerContextExecutionProxy.cpp:
3324         (WebCore::WorkerContextExecutionProxy::evaluate):
3325         (WebCore::WorkerContextExecutionProxy::runScript):
3326         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3327         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
3328         * bindings/v8/custom/V8MessageEventCustom.cpp:
3329         (WebCore::V8MessageEvent::dataAccessorGetter):
3330         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3331         (WebCore::toV8Object):
3332         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
3333
3334 2012-08-21  Kentaro Hara  <haraken@chromium.org>
3335
3336         [V8] Move toV8Context() from V8Proxy to V8Binding
3337         https://bugs.webkit.org/show_bug.cgi?id=94597
3338
3339         Reviewed by Adam Barth.
3340
3341         To kill V8Proxy, we can move toV8Context() from V8Proxy to V8Binding.
3342
3343         No tests. No change in behavior.
3344
3345         * bindings/v8/V8Binding.cpp:
3346         (WebCore::toV8Context):
3347         (WebCore):
3348         * bindings/v8/V8Binding.h:
3349         (WebCore):
3350         * bindings/v8/V8Proxy.cpp:
3351         * bindings/v8/V8Proxy.h:
3352
3353 2012-08-21  Gabriel Peal  <gpeal@google.com>
3354
3355         Web Inspector: Embeddable Web Inspector
3356         https://bugs.webkit.org/show_bug.cgi?id=91528
3357
3358         Reviewed by Pavel Feldman.
3359
3360         Adds functionality to the inspector such that it is better suited to run embedded in another webpage. It adds the ability to prepopulate the timeline panel with an existing recording among other controls.
3361
3362         * English.lproj/localizedStrings.js:
3363         * inspector/front-end/InspectorFrontendAPI.js:
3364         (InspectorFrontendAPI.dispatchQueryParameters):
3365         (InspectorFrontendAPI.loadTimelineFromURL):
3366         * inspector/front-end/InspectorFrontendHostStub.js:
3367         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
3368         (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
3369         * inspector/front-end/InspectorView.js:
3370         * inspector/front-end/TimelineModel.js:
3371         (WebInspector.TimelineModel.prototype.loadFromURL.onDataReceived):
3372         (WebInspector.TimelineModel.prototype.loadFromURL.parseAndImportData):
3373         (WebInspector.TimelineModel.prototype.loadFromURL.onLoad):
3374         (WebInspector.TimelineModel.prototype.loadFromURL):
3375         * inspector/front-end/TimelinePanel.js:
3376         (WebInspector.TimelinePanel.prototype.loadFromURL):
3377         * inspector/front-end/inspector.js:
3378         (WebInspector._createPanels):
3379         (WebInspector.loaded):
3380         * inspector/front-end/utilities.js:
3381
3382 2012-08-21  Robin Cao  <robin.cao@torchmobile.com.cn>
3383
3384         [BlackBerry] Add support for getUserMedia
3385         https://bugs.webkit.org/show_bug.cgi?id=94591
3386
3387         Reviewed by George Staikos.
3388
3389         Implement getUserMedia feature using the platform API.
3390
3391         Tests in fast/mediastream cover this.
3392
3393         PR #153571
3394
3395         Reviewed internally by George Staikos.
3396
3397         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3398         (WebCore::toWebMediaStreamSource):
3399         (WebCore):
3400         (WebCore::toWebMediaStreamDescriptor):
3401         (WebCore::MediaPlayerPrivate::lookupMediaStream):
3402         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
3403         (MediaPlayerPrivate):
3404
3405 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
3406
3407         Web Inspector: remove DOMNodeRemoved listener from the DefaultTextEditor
3408         https://bugs.webkit.org/show_bug.cgi?id=94592
3409
3410         Reviewed by Yury Semikhatsky.
3411
3412         It seems to be not necessary.
3413
3414         * inspector/front-end/DefaultTextEditor.js:
3415         (WebInspector.TextEditorMainPanel):
3416         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
3417         (WebInspector.TextEditorMainChunk):
3418         (WebInspector.TextEditorMainChunk.prototype.set expanded):
3419
3420 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3421
3422         CodeGeneratorInspector.py: Generate guards for type validators
3423         https://bugs.webkit.org/show_bug.cgi?id=94511
3424
3425         Reviewed by Yury Semikhatsky.
3426