a5aadc82cd9dceedac9703ade06fd3af8fb7159c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-09  Rafael Brandao  <rafael.lobo@openbossa.org>
2
3         [TexMap] Separate classes per file in TextureMapperBackingStore.h
4         https://bugs.webkit.org/show_bug.cgi?id=109333
5
6         Reviewed by Noam Rosenthal.
7
8         TextureMapperBackingStore.h had the classes TextureMapperBackingStore,
9         TextureMapperTiledBackingStore, TextureMapperSurfaceBackingStore and
10         TextureMapperTile which was quite confusing. Now each one has its
11         own header and its own source file.
12
13         No new tests needed, refactoring only.
14
15         * CMakeLists.txt:
16         * GNUmakefile.list.am:
17         * Target.pri:
18         * WebCore.gypi:
19         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
20         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
21         * platform/graphics/texmap/TextureMapperBackingStore.h:
22         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp: Added.
23         (WebCore):
24         (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
25         (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
26         (WebCore::TextureMapperSurfaceBackingStore::texture):
27         (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
28         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h: Added.
29         (WebCore):
30         (TextureMapperSurfaceBackingStore):
31         (WebCore::TextureMapperSurfaceBackingStore::create):
32         (WebCore::TextureMapperSurfaceBackingStore::~TextureMapperSurfaceBackingStore):
33         (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
34         * platform/graphics/texmap/TextureMapperTile.cpp: Added.
35         (WebCore):
36         (WebCore::TextureMapperTile::updateContents):
37         (WebCore::TextureMapperTile::paint):
38         * platform/graphics/texmap/TextureMapperTile.h: Added.
39         (WebCore):
40         (TextureMapperTile):
41         (WebCore::TextureMapperTile::texture):
42         (WebCore::TextureMapperTile::rect):
43         (WebCore::TextureMapperTile::setTexture):
44         (WebCore::TextureMapperTile::setRect):
45         (WebCore::TextureMapperTile::~TextureMapperTile):
46         (WebCore::TextureMapperTile::TextureMapperTile):
47         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp.
48         (WebCore):
49         (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
50         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
51         (WebCore::TextureMapperTiledBackingStore::adjustedTransformForRect):
52         (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
53         (WebCore::TextureMapperTiledBackingStore::drawBorder):
54         (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
55         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
56         (WebCore::TextureMapperTiledBackingStore::updateContents):
57         (WebCore::TextureMapperTiledBackingStore::texture):
58         * platform/graphics/texmap/TextureMapperTiledBackingStore.h: Added.
59         (WebCore):
60         (TextureMapperTiledBackingStore):
61         (WebCore::TextureMapperTiledBackingStore::create):
62         (WebCore::TextureMapperTiledBackingStore::~TextureMapperTiledBackingStore):
63         (WebCore::TextureMapperTiledBackingStore::setContentsToImage):
64         (WebCore::TextureMapperTiledBackingStore::rect):
65         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
66         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
67
68 2013-02-09  Philip Rogers  <pdr@google.com>
69
70         Sanitize m_keyTimes for paced value animations
71         https://bugs.webkit.org/show_bug.cgi?id=108828
72
73         Reviewed by Dirk Schulze.
74
75         SVG animations with calcMode=paced calculate new m_keyTimes in
76         SVGAnimationElement::calculateKeyTimesForCalcModePaced() because paced animations do not
77         specify keyTimes. If an error occurs while calculating m_keyTimes, and there exists
78         user-specified values, a crash could occur because the user-specified values were not
79         sanitized.
80
81         This change clears user-specified keyTimes before calculating new ones.
82
83         Test: svg/animations/animate-keytimes-crash.html
84
85         * svg/SVGAnimationElement.cpp:
86         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
87
88 2013-02-09  Eric Seidel  <eric@webkit.org>
89
90         Fix TextDocumentParser to play nice with threading
91         https://bugs.webkit.org/show_bug.cgi?id=109240
92
93         Reviewed by Adam Barth.
94
95         Before the HTML5 parser re-write the text document parser
96         was completely custom.  With the HTML5 parser, we just made
97         the TextDocumentParser use the HTMLDocumentParser with an
98         artificial script tag.
99
100         However, our solution was slightly over-engineered to avoid
101         lying about the column numbers of the first line of the text document
102         during parsing. :)
103
104         This change makes us use a simpler (and threading-compatible)
105         solution by just inserting a real "<pre>" tag into the
106         input stream instead of hacking one together with the treebuilder
107         and manually setting the Tokenizer state.
108
109         fast/parser/empty-text-resource.html covers this case.
110
111         * html/parser/TextDocumentParser.cpp:
112         (WebCore::TextDocumentParser::TextDocumentParser):
113         (WebCore::TextDocumentParser::insertFakePreElement):
114
115 2013-02-09  Kent Tamura  <tkent@chromium.org>
116
117         Add missing copyright header
118         https://bugs.webkit.org/show_bug.cgi?id=107507
119
120         * Resources/pagepopups/chromium/calendarPickerChromium.css:
121         * Resources/pagepopups/chromium/pickerCommonChromium.css:
122
123 2013-02-09  Kent Tamura  <tkent@chromium.org>
124
125         Fix crash by img[ismap] with content property
126         https://bugs.webkit.org/show_bug.cgi?id=108702
127
128         Reviewed by Adam Barth.
129
130         Test: fast/dom/HTMLAnchorElement/anchor-ismap-crash.html
131
132         * html/HTMLAnchorElement.cpp:
133         (WebCore::appendServerMapMousePosition):
134         Check if the renderer of an img element is RenderImage.
135
136 2013-02-09  Mike West  <mkwst@chromium.org>
137
138         Drop ExceptionCode from IDB's directionToString and modeToString.
139         https://bugs.webkit.org/show_bug.cgi?id=109143
140
141         Reviewed by Jochen Eisinger.
142
143         No caller of either IDBCursor::directionToString or
144         IDBTransaction::modeToString makes use of the ExceptionCode these
145         methods require. This patch removes the 'ExceptionCode&' parameter from
146         both methods and their callsites.
147
148         * Modules/indexeddb/IDBCursor.cpp:
149         (WebCore::IDBCursor::direction):
150         (WebCore::IDBCursor::directionToString):
151             Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
152             exception previously generated with ASSERT_NOT_REACHED.
153         * Modules/indexeddb/IDBCursor.h:
154         * Modules/indexeddb/IDBTransaction.cpp:
155         (WebCore::IDBTransaction::mode):
156         (WebCore::IDBTransaction::modeToString):
157             Drop the 'ExceptionCode&' parameter, and replace the 'TypeError'
158             exception previously generated with ASSERT_NOT_REACHED.
159         * Modules/indexeddb/IDBTransaction.h:
160
161 2013-02-09  Kondapally Kalyan  <kalyan.kondapally@intel.com>
162
163         [EFL][Qt][WebGL] Share the common code between GraphicsSurfaceGLX and X11WindowResources.
164         https://bugs.webkit.org/show_bug.cgi?id=106666
165
166         Reviewed by Kenneth Rohde Christiansen.
167
168         Covered by existing WebGL tests.
169
170         This patch removes any duplicate code in X11WindowResources and
171         GraphicsSurfaceGLX. No new functionality is added.
172
173         * PlatformEfl.cmake:
174         * Target.pri:
175         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
176         (WebCore::EGLConfigSelector::pixmapContextConfig):
177         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
178         (EGLConfigSelector):
179         * platform/graphics/surfaces/egl/EGLSurface.cpp:
180         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
181         (WebCore::EGLWindowTransportSurface::destroy):
182         (WebCore::EGLWindowTransportSurface::setGeometry):
183         * platform/graphics/surfaces/egl/EGLSurface.h:
184         (WebCore):
185         (EGLWindowTransportSurface):
186         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
187         (WebCore::GLXConfigSelector::GLXConfigSelector):
188         (WebCore::GLXConfigSelector::visualInfo):
189         (WebCore::GLXConfigSelector::pBufferContextConfig):
190         (WebCore::GLXConfigSelector::createSurfaceConfig):
191         (GLXConfigSelector):
192         * platform/graphics/surfaces/glx/GLXContext.cpp:
193         (WebCore::initializeARBExtensions):
194         (WebCore::GLXOffScreenContext::GLXOffScreenContext):
195         (WebCore::GLXOffScreenContext::initialize):
196         (WebCore::GLXOffScreenContext::platformReleaseCurrent):
197         (WebCore::GLXOffScreenContext::freeResources):
198         * platform/graphics/surfaces/glx/GLXContext.h:
199         (GLXOffScreenContext):
200         * platform/graphics/surfaces/glx/GLXSurface.cpp:
201         (WebCore::GLXTransportSurface::GLXTransportSurface):
202         (WebCore::GLXTransportSurface::setGeometry):
203         (WebCore::GLXTransportSurface::destroy):
204         (WebCore::GLXPBuffer::initialize):
205         * platform/graphics/surfaces/glx/GLXSurface.h:
206         (GLXTransportSurface):
207         (GLXPBuffer):
208         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
209         (WebCore):
210         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
211         (WebCore::GraphicsSurfacePrivate::initialize):
212         (GraphicsSurfacePrivate):
213         (WebCore::GraphicsSurfacePrivate::createSurface):
214         (WebCore::GraphicsSurfacePrivate::createPixmap):
215         (WebCore::GraphicsSurfacePrivate::display):
216         (WebCore::GraphicsSurfacePrivate::flags):
217         (WebCore::GraphicsSurfacePrivate::clear):
218         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
219         No new functionality added. Made changes to take the common code into use.
220
221         * platform/graphics/surfaces/glx/X11WindowResources.h: Removed.
222         * platform/graphics/surfaces/glx/X11Helper.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/glx/X11WindowResources.cpp.
223         (WebCore):
224         (WebCore::DisplayConnection::DisplayConnection):
225         (DisplayConnection):
226         (WebCore::DisplayConnection::~DisplayConnection):
227         (WebCore::DisplayConnection::display):
228         (OffScreenRootWindow):
229         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
230         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
231         (WebCore::OffScreenRootWindow::rootWindow):
232         (WebCore::X11Helper::resizeWindow):
233         (WebCore::X11Helper::createOffScreenWindow):
234         (WebCore::X11Helper::destroyWindow):
235         (WebCore::X11Helper::isXRenderExtensionSupported):
236         (WebCore::X11Helper::nativeDisplay):
237         (WebCore::X11Helper::offscreenRootWindow):
238         * platform/graphics/surfaces/glx/X11Helper.h: Added.
239         (WebCore):
240         (WebCore::handleXPixmapCreationError):
241         (X11Helper):
242         (ScopedXPixmapCreationErrorHandler):
243         (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
244         (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
245         (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
246         Moved common code from GraphicsSurfaceGLX to X11Helper.
247
248 2013-02-09  Andrey Lushnikov  <lushnikov@chromium.org>
249
250         Web Inspector: show whitespace characters in DTE
251         https://bugs.webkit.org/show_bug.cgi?id=108947
252
253         Reviewed by Pavel Feldman.
254
255         New test: inspector/editor/text-editor-show-whitespaces.html
256
257         Split consecutive whitespace characters into groups of 16, 8, 4, 2 and 1 and
258         add ::before pseudoclass for this groups which contains necessary
259         amount of "dots" (u+00b7). Add a setting "Show whitespace" for this
260         option in "Sources" section of "General" tab.
261
262         * English.lproj/localizedStrings.js:
263         * inspector/front-end/DefaultTextEditor.js:
264         (WebInspector.TextEditorMainPanel.prototype.wasShown):
265         (WebInspector.TextEditorMainPanel.prototype.willHide):
266         (WebInspector.TextEditorMainPanel.prototype._renderRanges):
267         (WebInspector.TextEditorMainPanel.prototype._renderWhitespaceCharsWithFixedSizeSpans):
268         (WebInspector.TextEditorMainPanel.prototype._paintLine):
269         * inspector/front-end/Settings.js:
270         * inspector/front-end/SettingsScreen.js:
271         (WebInspector.GenericSettingsTab):
272         * inspector/front-end/inspectorSyntaxHighlight.css:
273         (.webkit-whitespace-1::before):
274         (.webkit-whitespace-2::before):
275         (.webkit-whitespace-4::before):
276         (.webkit-whitespace-8::before):
277         (.webkit-whitespace-16::before):
278         (.webkit-whitespace::before):
279
280 2013-02-08  Eric Carlson  <eric.carlson@apple.com>
281
282         [Mac] respect in-band caption color
283         https://bugs.webkit.org/show_bug.cgi?id=109203
284
285         Reviewed by Dean Jackson.
286
287         Test: media/track/track-in-band-style.html
288
289         * WebCore.xcodeproj/project.pbxproj: Add HTMLDivElement.h to private headers because it is 
290             included by HTMLTextElement, which is included by HTMLMediaElement.h, which is included 
291             by files in WebKit/WebKit2.
292         * html/track/InbandTextTrack.cpp:
293         (WebCore::InbandTextTrack::addGenericCue): Set cue colors if necessary.
294
295         * html/track/TextTrackCue.h:
296         (WebCore::TextTrackCue::element): New, accessor for the cue element so it can be styled.
297
298         * html/track/TextTrackCueGeneric.cpp:
299         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set container and cue background 
300             color if necessary.
301         (WebCore::TextTrackCueGeneric::operator==): Compare cue colors.
302         * html/track/TextTrackCueGeneric.h:
303         (WebCore::TextTrackCueGeneric::foregroundColor): Add color accessors.
304         (WebCore::TextTrackCueGeneric::setForegroundColor):
305         (WebCore::TextTrackCueGeneric::backgroundColor):
306         (WebCore::TextTrackCueGeneric::setBackgroundColor):
307
308         * page/CaptionUserPreferencesMac.mm:
309         (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Always
310             regenerate override CSS when an element registers for callbacks.
311         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Drive by fix of "window color" padding.
312         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Log the stylesheet generated
313             for easier debugging.
314
315         * platform/graphics/InbandTextTrackPrivateClient.h:
316         (WebCore::GenericCueData::foregroundColor): Add color getters/setters.
317         (WebCore::GenericCueData::setForegroundColor):
318         (WebCore::GenericCueData::backgroundColor):
319         (WebCore::GenericCueData::setBackgroundColor):
320
321         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
322         (WebCore::makeRGBA32FromARGBCFArray): Initialize a RGBA32 from a CFArray of color values.
323         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Process cue colors.
324
325 2013-02-08  Benjamin Poulain  <bpoulain@apple.com>
326
327         Move workerThreadCount from TestRunner to WebCore Internals
328         https://bugs.webkit.org/show_bug.cgi?id=109239
329
330         Reviewed by Darin Adler.
331
332         Add the new read-only property workerThreadCount.
333
334         * testing/Internals.cpp:
335         (WebCore::Internals::workerThreadCount):
336         (WebCore):
337         * testing/Internals.h:
338         (Internals):
339         * testing/Internals.idl:
340
341 2013-02-08  Dean Jackson  <dino@apple.com>
342
343         Snapshotted plug-in should use shadow root
344         https://bugs.webkit.org/show_bug.cgi?id=108284
345
346         Reviewed by Simon Fraser.
347
348         Take two! This time with updated exports file.
349
350         A snapshotted plugin needs to indicate to the user that it can be clicked
351         to be restarted. Previously this was done with an image that had embedded
352         text. Instead, we now use an internal shadow root to embed some markup that
353         will display instructions that can be localised.
354
355         The UA stylesheet for plug-ins provides a default styling for the label, which
356         can be overridden by ports.
357
358         In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
359         since it is only responsible for drawing a paused plug-in. The snapshot creation
360         can work with the default renderer, but a shadow root requires something like
361         RenderBlock in order to draw its children. We swap from one renderer to another when
362         necessary either by creating the shadow root or by explicitly detaching and attaching
363         the plugin element.
364
365         Unfortunately this is difficult to test, because the snapshotting requires
366         time to execute, and also a PluginView to be instantiated.
367
368         * WebCore.exp.in: Export the InlineBox interface.
369
370         * css/plugIns.css:
371         (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
372
373         * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
374         * platform/LocalizedStrings.h:
375         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
376         * platform/chromium/LocalizedStringsChromium.cpp:
377         * platform/efl/LocalizedStringsEfl.cpp:
378         * platform/gtk/LocalizedStringsGtk.cpp:
379         * platform/qt/LocalizedStringsQt.cpp:
380
381         * html/HTMLPlugInElement.cpp:
382         (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
383         that RenderSnapshottedPlugIn no longer is an embedded object.
384
385         * html/HTMLPlugInImageElement.cpp:
386         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
387         (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
388         (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
389         (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
390             a renderer, otherwise use the typical plug-in path.
391         (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
392             need to give it to the renderer.
393         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
394         * html/HTMLPlugInImageElement.h:
395         (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
396             should show immediately.
397         (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
398             to swap to the Shadow Root.
399         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
400             in being recreated. Make sure we reattach so that a plugin renderer will be created.
401         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
402             displayState for snapshots.
403         * html/HTMLPlugInImageElement.h:
404         (HTMLPlugInImageElement): The new methods listed above.
405         (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
406             a snapshot should be immediately labeled.
407
408         * page/ChromeClient.h: No need for plugInStartLabelImage any more.
409
410         * rendering/RenderSnapshottedPlugIn.cpp:
411         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
412         (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
413         (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
414         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
415         (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
416         (WebCore::RenderSnapshottedPlugIn::getCursor):
417         (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
418         * rendering/RenderSnapshottedPlugIn.h:
419         (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
420
421 2013-02-08  Dean Jackson  <dino@apple.com>
422
423         Rolling out r142333 and r142337 which broke Mac Release builds.
424
425 2013-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
426
427         Unreviewed, rolling out r142337.
428         http://trac.webkit.org/changeset/142337
429         https://bugs.webkit.org/show_bug.cgi?id=109339
430
431         Breaking Mac release builds (Requested by dino_ on #webkit).
432
433         * rendering/RenderSnapshottedPlugIn.h:
434
435 2013-02-08  Dean Jackson  <dino@apple.com>
436
437         Attempted Mac and GTK build fix after r142333.
438
439         * rendering/RenderSnapshottedPlugIn.h: Include InlineBox.h.
440
441 2013-02-08  Andy Estes  <aestes@apple.com>
442
443         Restore pre-r118852 behavior for EllipsisBox::nodeAtPoint()
444         https://bugs.webkit.org/show_bug.cgi?id=109277
445
446         Reviewed by Simon Fraser.
447
448         Test: fast/flexbox/line-clamp-link-after-ellipsis.html
449
450         Roll out r118852. Enough time has passed that this can't be done
451         mechanically, so transcribe the old method definition to current
452         WebCore interfaces.
453
454         * rendering/EllipsisBox.cpp:
455         (WebCore::EllipsisBox::markupBox): EllipsisBox no longer has
456         m_markupBox, so break the logic for finding the markup box from
457         paintMarkupBox() into its own function.
458         (WebCore::EllipsisBox::paintMarkupBox): Call markupBox().
459         (WebCore::EllipsisBox::nodeAtPoint): Transcribe the pre-r118852 implementation.
460         * rendering/EllipsisBox.h:
461         (EllipsisBox): Declare markupBox().
462
463 2013-02-08  Eric Carlson  <eric.carlson@apple.com>
464
465         [Mac] In-band closed caption tracks are not always initialized correctly
466         https://bugs.webkit.org/show_bug.cgi?id=109323
467
468         Reviewed by Dean Jackson.
469
470         No new tests, this fix makes existing tests less flakey.
471
472         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
473         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Create and configure legible output
474             here instad of in tracksChanged.
475         (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Do nothing in a build with
476             in-band track support.
477         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Move legible output creation to 
478             createAVPlayerItem, don't set look at track media type to see if the movie has captions 
479             when we have support for in-band captions.
480
481 2013-02-08  Dean Jackson  <dino@apple.com>
482
483         Snapshotted plug-in should use shadow root
484         https://bugs.webkit.org/show_bug.cgi?id=108284
485
486         Reviewed by Simon Fraser.
487
488         A snapshotted plugin needs to indicate to the user that it can be clicked
489         to be restarted. Previously this was done with an image that had embedded
490         text. Instead, we now use an internal shadow root to embed some markup that
491         will display instructions that can be localised.
492
493         The UA stylesheet for plug-ins provides a default styling for the label, which
494         can be overridden by ports.
495
496         In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
497         since it is only responsible for drawing a paused plug-in. The snapshot creation
498         can work with the default renderer, but a shadow root requires something like
499         RenderBlock in order to draw its children. We swap from one renderer to another when
500         necessary either by creating the shadow root or by explicitly detaching and attaching
501         the plugin element.
502
503         Unfortunately this is difficult to test, because the snapshotting requires
504         time to execute, and also a PluginView to be instantiated.
505
506         * css/plugIns.css:
507         (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
508
509         * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
510         * platform/LocalizedStrings.h:
511         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
512         * platform/chromium/LocalizedStringsChromium.cpp:
513         * platform/efl/LocalizedStringsEfl.cpp:
514         * platform/gtk/LocalizedStringsGtk.cpp:
515         * platform/qt/LocalizedStringsQt.cpp:
516
517         * html/HTMLPlugInElement.cpp:
518         (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
519         that RenderSnapshottedPlugIn no longer is an embedded object.
520
521         * html/HTMLPlugInImageElement.cpp:
522         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
523         (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
524         (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
525         (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
526             a renderer, otherwise use the typical plug-in path.
527         (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
528             need to give it to the renderer.
529         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
530         * html/HTMLPlugInImageElement.h:
531         (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
532             should show immediately.
533         (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
534             to swap to the Shadow Root.
535         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
536             in being recreated. Make sure we reattach so that a plugin renderer will be created.
537         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
538             displayState for snapshots.
539         * html/HTMLPlugInImageElement.h:
540         (HTMLPlugInImageElement): The new methods listed above.
541         (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
542             a snapshot should be immediately labeled.
543
544         * page/ChromeClient.h: No need for plugInStartLabelImage any more.
545
546         * rendering/RenderSnapshottedPlugIn.cpp:
547         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
548         (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
549         (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
550         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
551         (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
552         (WebCore::RenderSnapshottedPlugIn::getCursor):
553         (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
554         * rendering/RenderSnapshottedPlugIn.h:
555         (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
556
557 2013-02-08  Kentaro Hara  <haraken@chromium.org>
558
559         {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator should be in FocusEvent.cpp
560         https://bugs.webkit.org/show_bug.cgi?id=109265
561
562         Reviewed by Dimitri Glazkov.
563
564         Conventionally we put XXXEventDispatchMediator to XXXEvent.cpp.
565         We should move {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator to FocusEvent.cpp.
566
567         No tests. No change in behavior.
568
569         * dom/EventDispatchMediator.cpp:
570         * dom/EventDispatchMediator.h:
571         * dom/FocusEvent.cpp:
572         (WebCore::FocusEventDispatchMediator::create):
573         (WebCore):
574         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
575         (WebCore::FocusEventDispatchMediator::dispatchEvent):
576         (WebCore::BlurEventDispatchMediator::create):
577         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
578         (WebCore::BlurEventDispatchMediator::dispatchEvent):
579         (WebCore::FocusInEventDispatchMediator::create):
580         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
581         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
582         (WebCore::FocusOutEventDispatchMediator::create):
583         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
584         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
585         * dom/FocusEvent.h:
586         (WebCore):
587         (FocusEventDispatchMediator):
588         (BlurEventDispatchMediator):
589         (FocusInEventDispatchMediator):
590         (FocusOutEventDispatchMediator):
591         * dom/UIEvent.cpp:
592         * dom/UIEvent.h:
593
594 2013-02-08  Jer Noble  <jer.noble@apple.com>
595
596         Unreviewed build fix. MSVC (and other compilers) need a default: case in switch statement.
597
598         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
599         (WebCore::notificationName):
600
601 2013-02-08  Jer Noble  <jer.noble@apple.com>
602
603         Bring WebKit up to speed with latest Encrypted Media spec.
604         https://bugs.webkit.org/show_bug.cgi?id=97037
605
606         Reviewed by Eric Carlson.
607
608         The most recent version of the Encrypted Media Extensions spec breaks functionality out of the
609         HTMLMediaElement and into new MediaKeys and MediaKeySession classes. Since the CDM functionality
610         has been pulled out of the media element, we create a proxy CDM class and factory system for
611         creating specific CDM key system implementations. The spec also breaks out MediaKeyEvent
612         into distinct event classes, MediaKeyNeededEvent and MediaKeyMessageEvent, for needkey and
613         keymessage events, respectively.
614
615         Tests: media/encrypted-media/encrypted-media-v2-events.html
616                media/encrypted-media/encrypted-media-v2-syntax.html
617
618         CDM is a proxy class (a la MediaPlayer) for a specific CDMPrivateInterface implementation. A CDM
619         implementation is registered with the CDMFactory and will be created if that implementation supports
620         the key system passed into the MediaKeys constructor. CDMSession is a pure-virtual interface exposed
621         by concrete CDMPrivate subclasses.  Its lifetime is owned by MediaKeySession.
622         * Modules/encryptedmedia/CDM.cpp: Added.
623         (WebCore::installedCDMFactories): Initialize all the known CDM subtypes. Ports will add CDM implementations here.
624         (WebCore::CDM::registerCDMFactory): Registers a new CDMFactory using the passed in function pointers.
625         (WebCore::CDMFactoryForKeySystem): Return the first CDM factory which supports the requested key system.
626         (WebCore::CDM::supportsKeySystem): Walk the installed CDMs and ask if the given key system is supported.
627         (WebCore::CDM::supportsKeySystemMIMETypeAndCodec): Ditto, with an additional MIME type and codec string.
628         (WebCore::CDM::create): Simple constructor wrapper.
629         (WebCore::CDM::CDM): Simple constructor; calls bestCDMForKeySystem() to create it's private implementation.
630         (WebCore::CDM::~CDM): Simple destructor.
631         (WebCore::CDM::createSession): Creates a new CDMSession.
632         * Modules/encryptedmedia/CDM.h: Added.
633         (WebCore::CDM::keySystem): Simple accessor for m_keySystem.
634         (WebCore::CDMSession::CDMSession): Simple constructor.
635         (WebCore::CDMSession::~CDMSession): Simple destructor.
636         * Modules/encryptedmedia/CDMPrivate.h: Added.
637         (WebCore::CDMPrivateInterface::CDMPrivateInterface): Simple constructor.
638         (WebCore::CDMPrivateInterface::~CDMPrivateInterface): Simple destructor.
639
640         The new classes, MediaKeyMessageEvent and MediaKeyNeededEvent, take distinct subsets of the initializers of
641         the original MediaKeyMessageEvent.
642         * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.cpp.
643         (WebCore::MediaKeyMessageEventInit::MediaKeyMessageEventInit): Initializer now only takes message and destinationURL
644             parameters.
645         (WebCore::MediaKeyMessageEvent::MediaKeyMessageEvent): Simple constructor.
646         (WebCore::MediaKeyMessageEvent::~MediaKeyMessageEvent): Simple destructor.
647         (WebCore::MediaKeyMessageEvent::interfaceName): Standard interfaceName.
648         * Modules/encryptedmedia/MediaKeyMessageEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
649         (WebCore::MediaKeyMessageEvent::create): Simple construction wrapper.
650         (WebCore::MediaKeyMessageEvent::message): Simple accessor for m_message.
651         (WebCore::MediaKeyMessageEvent::destinationURL): Simple accessor for m_destinationURL.
652         * Modules/encryptedmedia/MediaKeyMessageEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
653         * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.h.
654         (WebCore::MediaKeyNeededEventInit::MediaKeyNeededEventInit): Initializer now only takes initData parameter.
655         (WebCore::MediaKeyNeededEvent::MediaKeyNeededEvent): Simple constructor.
656         (WebCore::MediaKeyNeededEvent::~MediaKeyNeededEvent): Simple destructor.
657         (WebCore::MediaKeyNeededEvent::interfaceName): Standard interfaceName.
658         * Modules/encryptedmedia/MediaKeyNeededEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
659         (WebCore::MediaKeyNeededEvent::create): Simple construction wrapper.
660         (WebCore::MediaKeyNeededEvent::initData): Simple accessor for m_initData.
661         * Modules/encryptedmedia/MediaKeyNeededEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
662
663         MediaKeySession is a new class that maps keys and key requests to a given session ID:
664         * Modules/encryptedmedia/MediaKeySession.cpp: Added.
665         (WebCore::MediaKeySession::create): Simple construction wrapper.
666         (WebCore::MediaKeySession::MediaKeySession): Simple constructor.
667         (WebCore::MediaKeySession::~MediaKeySession): Simple destructor; calls close().
668         (WebCore::MediaKeySession::setError): Simple setter for m_error;
669         (WebCore::MediaKeySession::close): Tell the CDM to clear any saved session keys.
670         (WebCore::MediaKeySession::generateKeyRequest): Start a one-shot timer, handled in keyRequestTimerFired.
671         (WebCore::MediaKeySession::keyRequestTimerFired): Follow the steps in the spec; ask the CDM to generate a key request.
672         (WebCore::MediaKeySession::addKey): Start a one-shot timer, handled in addKeyTimerFired.
673         (WebCore::MediaKeySession::addKeyTimerFired): Follow the steps in the spec; provide the key data to the CDM.
674         * Modules/encryptedmedia/MediaKeySession.h: Added.
675         (WebCore::MediaKeySession::keySystem): Simple accessor for m_keySystem.
676         (WebCore::MediaKeySession::sessionId): Simple accessor for m_sessionId.
677         (WebCore::MediaKeySession::error): Simple accessor for m_error;
678         * Modules/encryptedmedia/MediaKeySession.idl:
679
680         MediaKeySession inherits from EventTarget, and must override the pure virtual functions in that class:
681         * Modules/encryptedmedia/MediaKeySession.cpp: Added.
682         (WebCore::MediaKeySession::interfaceName):
683         * Modules/encryptedmedia/MediaKeySession.h: Added.
684         (WebCore::MediaKeySession::refEventTarget):
685         (WebCore::MediaKeySession::derefEventTarget):
686         (WebCore::MediaKeySession::eventTargetData):
687         (WebCore::MediaKeySession::ensureEventTargetData):
688         (WebCore::MediaKeySession::scriptExecutionContext):
689
690         MediaKeys is a new class that encapsulates a CDM and a number of key sessions:
691         * Modules/encryptedmedia/MediaKeys.cpp: Added.
692         (WebCore::MediaKeys::create): Throw an exception if the key system parameter is unsupported; create a CDM object
693             and a new MediaKeys session.
694         (WebCore::MediaKeys::MediaKeys): Simple constructor.
695         (WebCore::MediaKeys::~MediaKeys): Simple destructor.
696         (WebCore::MediaKeys::createSession): Follow the spec and create a new key session.
697         * Modules/encryptedmedia/MediaKeys.h: Added.
698         * Modules/encryptedmedia/MediaKeys.idl: Copied from Source/WebCore/html/MediaError.idl.
699
700         Provide a new interface to HTMLMediaElement for MediaPlayer which does not require a sessionId or a key system:
701         * html/HTMLMediaElement.cpp:
702         (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
703         * platform/graphics/MediaPlayer.cpp:
704         (WebCore::MediaPlayer::keyNeeded):
705
706         MediaKeyError now has a systemCode parameter and member variable.
707         * html/MediaKeyError.h:
708         (WebCore::MediaKeyError::create): Take a systemCode parameter with a default (0) value.
709         (WebCore::MediaKeyError::MediaKeyError): Ditto.
710         (WebCore::MediaKeyError::systemCode): Simple accessor for m_systemCode.
711         * html/MediaKeyError.idl:
712
713         Add new methods to HTMLMediaElement to support MediaKeys. Support different initializer
714         for the MediaKeyNeededEvent.
715         * html/HTMLMediaElement.cpp:
716         (WebCore::HTMLMediaElement::setMediaKeys): Simple setter for m_mediaKeys.
717         (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): This version takes fewer parameters
718             than the deprecated version.
719         * html/HTMLMediaElement.h:
720         (WebCore::HTMLMediaElement::mediaKeys): Simple accessor for m_mediaKeys.
721         * html/HTMLMediaElement.idl: Add the mediaKeys attribute.
722
723         Add an ENABLE(ENCRYPTED_MEDIA_V2) check to the existing ENABLE(ENCRYPTED_MEDIA) one:
724         * html/MediaError.h:
725         * html/MediaError.idl:
726         * platform/graphics/MediaPlayer.cpp:
727         (WebCore::bestMediaEngineForTypeAndCodecs):
728         (WebCore::MediaPlayer::supportsType):
729         * platform/graphics/MediaPlayer.h:
730         (WebCore::MediaPlayer::keyNeeded): This version takes fewer parameters than the
731             deprecated version.
732
733         Support the new version of canPlayType which takes an extra parameter:
734         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
735         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
736         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
737         (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType):
738         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
739         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
740         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
741         (WebCore::MediaPlayerPrivateQTKit::extendedSupportsType):
742
743         Add a mock CDM for use within DRT and WKTR to test the MediaKeys and MediaKeySession
744         APIs and events:
745         * testing/Internals.cpp:
746         (WebCore::Internals::initializeMockCDM): Add the MockCDM class to the CDM factories.
747         * testing/Internals.h:
748         * testing/Internals.idl: Add the initializeMockCDM() method.
749         * testing/MockCDM.cpp: Added.
750         (WebCore::MockCDM::supportsKeySystem): Only supports the 'com.webcore.mock' key system.
751         (WebCore::MockCDM::supportsMIMEType): Only supports the 'video/mock' mime type.
752         (WebCore::initDataPrefix): Static method which returns a Uint8Array containing 'mock'.
753         (WebCore::keyPrefix): Static method which returns a Uint8Array containing 'key'.
754         (WebCore::keyRequest): Static method which returns a Uint8Array containing 'request'.
755         (WebCore::generateSessionId): Return a monotonically increasing number.
756         (WebCore::MockCDMSession::MockCDMSession): Simple constructor.
757         (WebCore::MockCDMSession::generateKeyRequest): Ignores the parameters and returns a keyRequest() array.
758         (WebCore::MockCDMSession::releaseKeys): No-op.
759         (WebCore::MockCDMSession::addKey): Checks that the key starts with the keyPrefix() array.
760         * testing/MockCDM.h: Added.
761         (WebCore::MockCDM::create):
762         (WebCore::MockCDM::~MockCDM): Simple destructor.
763         (WebCore::MockCDM::MockCDM): Simple constructor.
764
765         Add the new classes to the built system:
766         * Configurations/FeatureDefines.xcconfig:
767         * DerivedSources.make:
768         * WebCore.exp.in:
769         * WebCore.xcodeproj/project.pbxproj:
770
771         Miscelaneous changes:
772         * dom/EventNames.in: Add the two new event types, MediaKeyMessageEvent and MediaKeyNeededEvent.
773         * dom/EventTargetFactory.in: Add the new EventTarget, MediaKeySession.
774         * page/DOMWindow.idl: Add constructors for the new classes to the window object.
775
776 2013-02-08  Chris Fleizach  <cfleizach@apple.com>
777
778         Refactor platform-specific code in SpeechSynthesis
779         https://bugs.webkit.org/show_bug.cgi?id=107414
780
781         Reviewed by Sam Weinig.
782
783         Refactor WebSpeech code to use a platform mechanism to provide access to platform resources.
784
785         * Modules/speech/DOMWindowSpeechSynthesis.cpp:
786         (WebCore::DOMWindowSpeechSynthesis::from):
787         * Modules/speech/SpeechSynthesis.cpp:
788         (WebCore::SpeechSynthesis::SpeechSynthesis):
789         (WebCore):
790         (WebCore::SpeechSynthesis::voicesDidChange):
791         (WebCore::SpeechSynthesis::getVoices):
792         (WebCore::SpeechSynthesis::pending):
793         (WebCore::SpeechSynthesis::speaking):
794         (WebCore::SpeechSynthesis::paused):
795         (WebCore::SpeechSynthesis::speak):
796         (WebCore::SpeechSynthesis::cancel):
797         (WebCore::SpeechSynthesis::pause):
798         (WebCore::SpeechSynthesis::resume):
799         * Modules/speech/SpeechSynthesis.h:
800         (WebCore):
801         (SpeechSynthesis):
802         (WebCore::SpeechSynthesis::didStartSpeaking):
803         (WebCore::SpeechSynthesis::didFinishSpeaking):
804         (WebCore::SpeechSynthesis::speakingErrorOccurred):
805         * Modules/speech/SpeechSynthesisUtterance.cpp:
806         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
807         * Modules/speech/SpeechSynthesisUtterance.h:
808         (WebCore::SpeechSynthesisUtterance::text):
809         (WebCore::SpeechSynthesisUtterance::setText):
810         (WebCore::SpeechSynthesisUtterance::lang):
811         (WebCore::SpeechSynthesisUtterance::setLang):
812         (WebCore::SpeechSynthesisUtterance::voiceURI):
813         (WebCore::SpeechSynthesisUtterance::setVoiceURI):
814         (WebCore::SpeechSynthesisUtterance::volume):
815         (WebCore::SpeechSynthesisUtterance::setVolume):
816         (WebCore::SpeechSynthesisUtterance::rate):
817         (WebCore::SpeechSynthesisUtterance::setRate):
818         (WebCore::SpeechSynthesisUtterance::pitch):
819         (WebCore::SpeechSynthesisUtterance::setPitch):
820         (SpeechSynthesisUtterance):
821         (WebCore::SpeechSynthesisUtterance::platformUtterance):
822         * Modules/speech/SpeechSynthesisVoice.cpp:
823         (WebCore::SpeechSynthesisVoice::create):
824         (WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
825         * Modules/speech/SpeechSynthesisVoice.h:
826         (SpeechSynthesisVoice):
827         (WebCore::SpeechSynthesisVoice::voiceURI):
828         (WebCore::SpeechSynthesisVoice::name):
829         (WebCore::SpeechSynthesisVoice::lang):
830         (WebCore::SpeechSynthesisVoice::localService):
831         (WebCore::SpeechSynthesisVoice::isDefault):
832         * Modules/speech/mac/SpeechSynthesisMac.mm:
833         * WebCore.xcodeproj/project.pbxproj:
834         * platform/PlatformSpeechSynthesis.h: Added.
835         (WebCore):
836         (PlatformSpeechSynthesis):
837         * platform/PlatformSpeechSynthesisUtterance.cpp: Added.
838         (WebCore):
839         (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
840         * platform/PlatformSpeechSynthesisUtterance.h: Added.
841         (WebCore):
842         (PlatformSpeechSynthesisUtteranceClient):
843         (WebCore::PlatformSpeechSynthesisUtteranceClient::~PlatformSpeechSynthesisUtteranceClient):
844         (PlatformSpeechSynthesisUtterance):
845         (WebCore::PlatformSpeechSynthesisUtterance::text):
846         (WebCore::PlatformSpeechSynthesisUtterance::setText):
847         (WebCore::PlatformSpeechSynthesisUtterance::lang):
848         (WebCore::PlatformSpeechSynthesisUtterance::setLang):
849         (WebCore::PlatformSpeechSynthesisUtterance::voiceURI):
850         (WebCore::PlatformSpeechSynthesisUtterance::setVoiceURI):
851         (WebCore::PlatformSpeechSynthesisUtterance::volume):
852         (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
853         (WebCore::PlatformSpeechSynthesisUtterance::rate):
854         (WebCore::PlatformSpeechSynthesisUtterance::setRate):
855         (WebCore::PlatformSpeechSynthesisUtterance::pitch):
856         (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
857         * platform/PlatformSpeechSynthesisVoice.cpp: Added.
858         (WebCore):
859         (WebCore::PlatformSpeechSynthesisVoice::create):
860         (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
861         * platform/PlatformSpeechSynthesisVoice.h: Added.
862         (WebCore):
863         (PlatformSpeechSynthesisVoice):
864         (WebCore::PlatformSpeechSynthesisVoice::voiceURI):
865         (WebCore::PlatformSpeechSynthesisVoice::name):
866         (WebCore::PlatformSpeechSynthesisVoice::lang):
867         (WebCore::PlatformSpeechSynthesisVoice::localService):
868         (WebCore::PlatformSpeechSynthesisVoice::isDefault):
869         * platform/PlatformSpeechSynthesizer.cpp: Added.
870         (WebCore):
871         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
872         * platform/PlatformSpeechSynthesizer.h: Added.
873         (WebCore):
874         (PlatformSpeechSynthesizerClient):
875         (WebCore::PlatformSpeechSynthesizerClient::~PlatformSpeechSynthesizerClient):
876         (PlatformSpeechSynthesizer):
877         (WebCore::PlatformSpeechSynthesizer::voiceList):
878         * platform/mac/PlatformSpeechSynthesisMac.mm: Added.
879         (WebCore):
880         (WebCore::PlatformSpeechSynthesis::create):
881         (WebCore::PlatformSpeechSynthesis::PlatformSpeechSynthesis):
882         (WebCore::PlatformSpeechSynthesis::platformSpeak):
883         * platform/mac/PlatformSpeechSynthesizerMac.mm: Added.
884         (WebCore):
885         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
886         (WebCore::PlatformSpeechSynthesizer::speak):
887
888 2013-02-08  Dean Jackson  <dino@apple.com>
889
890         Put snapshotting label text into localizable strings
891         https://bugs.webkit.org/show_bug.cgi?id=108268
892
893         Reviewed by Simon Fraser.
894
895         In preparation for a snapshotted plug-in using a ShadowRoot, allow
896         its label to be localized.
897
898         * English.lproj/Localizable.strings:
899         * platform/LocalizedStrings.cpp:
900         (WebCore::snapshottedPlugInLabelTitle): New method for returning title.
901         (WebCore::snapshottedPlugInLabelSubtitle): New method for returning subtitle.
902         * platform/LocalizedStrings.h:
903
904 2013-02-08  Dean Jackson  <dino@apple.com>
905
906         Do not register autostart for plugins from file:// (or nowhere)
907         https://bugs.webkit.org/show_bug.cgi?id=108271
908
909         Reviewed by Tim Horton.
910
911         If the page url origin is treated as a local URL, don't attempt
912         to add it to the auto-start list.
913
914         * html/HTMLPlugInImageElement.cpp:
915         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
916
917 2013-02-08  Adam Barth  <abarth@webkit.org>
918
919         Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
920         https://bugs.webkit.org/show_bug.cgi?id=107190
921
922         Reviewed by Eric Seidel.
923
924         This patch replaces the parser map with WeakPtr. We now use WeakPtrs to
925         communicate from the main thread to the background thread. (We were
926         already using WeakPtrs to communicate from the background thread to the
927         main thread.) This change lets us remove a bunch of boilerplate code.
928
929         * html/parser/BackgroundHTMLParser.cpp:
930         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
931         (WebCore::BackgroundHTMLParser::stop):
932         (WebCore):
933         * html/parser/BackgroundHTMLParser.h:
934         (WebCore::BackgroundHTMLParser::create):
935         (BackgroundHTMLParser):
936         * html/parser/HTMLDocumentParser.cpp:
937         (WebCore::HTMLDocumentParser::didFailSpeculation):
938         (WebCore::HTMLDocumentParser::startBackgroundParser):
939         (WebCore::HTMLDocumentParser::stopBackgroundParser):
940         (WebCore::HTMLDocumentParser::append):
941         (WebCore::HTMLDocumentParser::finish):
942         * html/parser/HTMLDocumentParser.h:
943         (WebCore):
944         (HTMLDocumentParser):
945
946 2013-02-07  Roger Fong  <roger_fong@apple.com>
947
948         VS2010 WebCore TestSupport project.
949         https://bugs.webkit.org/show_bug.cgi?id=107034.
950
951         Reviewed by Brent Fulgham.
952
953         * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Added.
954         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Added.
955
956 2013-02-08  ChangSeok Oh  <shivamidow@gmail.com>
957
958         [GTK][AC] GraphicsLayerActor code clean up after clutter version up.
959         https://bugs.webkit.org/show_bug.cgi?id=109304
960
961         Reviewed by Gustavo Noronha Silva.
962
963         This patch cleans up GraphicsLayerActor functions by using new clutter apis
964         and makes existing functions simple & readable.
965
966         No new tests since no change in functionality
967
968         * platform/graphics/clutter/GraphicsLayerActor.cpp:
969         (_GraphicsLayerActorPrivate):
970         (graphicsLayerActorApplyTransform):
971         (graphicsLayerActorPaint):
972         (graphicsLayerActorDraw):
973         (graphicsLayerActorUpdateTexture):
974         (drawLayerContents):
975         (graphicsLayerActorNew):
976         (graphicsLayerActorInvalidateRectangle):
977         (graphicsLayerActorSetTransform):
978         (graphicsLayerActorSetAnchorPoint):
979         (graphicsLayerActorGetAnchorPoint):
980         (graphicsLayerActorSetScrollPosition):
981         * platform/graphics/clutter/PlatformClutterAnimation.h:
982
983 2013-02-08  Harald Alvestrand  <hta@google.com>
984
985         Fix and test for missing return statement
986
987         RTCPeerConnection.getStats() failed when remote stats were instantiated.
988         https://bugs.webkit.org/show_bug.cgi?id=109292
989
990         Reviewed by Adam Barth.
991
992         Tested by extending the existing mock's behaviour.
993
994         * Modules/mediastream/RTCStatsReport.cpp:
995         (WebCore::RTCStatsReport::addElement):
996
997 2013-02-08  Anton Vayvod  <avayvod@chromium.org>
998
999         [Text Autosizing] Split isAutosizingCluster into three independent checks
1000         https://bugs.webkit.org/show_bug.cgi?id=109093
1001
1002         Refactoring to create more flexible version of isAutosizingCluster since there're more types
1003         of autosizing cluster now: narrower than the parent cluster, wider than the parent cluster
1004         and the one that doesn't depend on the parent cluster.
1005
1006         Reviewed by Kenneth Rohde Christiansen.
1007
1008         Refactoring, no test changes.
1009
1010         * rendering/TextAutosizer.cpp:
1011
1012         (WebCore::TextAutosizer::isNarrowDescendant):
1013
1014             Separate check for the container to be of the narrow-descendant type. Was a part of
1015             isAutosizingCluster().
1016
1017         (WebCore::TextAutosizer::isWiderDescendant):
1018
1019             Separate check for the container to be of the wider-descendant type. Was a part of
1020             isAutosizingCluster().
1021
1022         (WebCore::TextAutosizer::isIndependentDescendant):
1023
1024             Separate check for the container to be autosized separately from the ancestor cluster.
1025             Checks for conditions independent of the aforementioned cluster.
1026
1027         (WebCore::TextAutosizer::isAutosizingCluster):
1028
1029             Handy method to check all separate conditions together.
1030
1031         (WebCore::TextAutosizer::processSubtree):
1032         (WebCore::TextAutosizer::processCluster):
1033         (WebCore::TextAutosizer::processContainer):
1034         (WebCore::TextAutosizer::clusterShouldBeAutosized):
1035         (WebCore::TextAutosizer::measureDescendantTextWidth):
1036         (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
1037
1038             The methods above were updated to use new functions/arguments.
1039
1040         * rendering/TextAutosizer.h:
1041
1042             Updated/added method definitions.
1043
1044 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
1045
1046         Web Inspector: Extension sever should use Workspace.projectForType() instead of Workspace.project()
1047         https://bugs.webkit.org/show_bug.cgi?id=109301
1048
1049         Reviewed by Alexander Pavlov.
1050
1051         * inspector/front-end/ExtensionServer.js:
1052         (WebInspector.ExtensionServer.prototype._onGetPageResources):
1053
1054 2013-02-04  Yury Semikhatsky  <yurys@chromium.org>
1055
1056         Web Inspector: simplify Memory.getDOMNodeCount implementation
1057         https://bugs.webkit.org/show_bug.cgi?id=108821
1058
1059         Reviewed by Alexander Pavlov.
1060
1061         Removed Memory.getDOMNodeCount command from the protocol. Memory.getDOMCounters
1062         should be used instead.
1063
1064         * inspector/Inspector.json:
1065         * inspector/InspectorMemoryAgent.cpp:
1066         * inspector/InspectorMemoryAgent.h:
1067         (InspectorMemoryAgent):
1068
1069 2013-02-08  Yury Semikhatsky  <yurys@chromium.org>
1070
1071         Web Inspector: refactor MemoryStatistics.js
1072         https://bugs.webkit.org/show_bug.cgi?id=109299
1073
1074         Reviewed by Vsevolod Vlasov.
1075
1076         Extracted functionality specific to DOM counter graphs drawing into
1077         separate methods on MemoryStatistics class.
1078         Introduced CounterUIBase base class for DOMCounterUI that contains
1079         functionality which can be shared with native memory graph.
1080
1081         * inspector/front-end/MemoryStatistics.js:
1082         (WebInspector.MemoryStatistics):
1083         (WebInspector.CounterUIBase):
1084         (WebInspector.CounterUIBase.prototype.updateCurrentValue):
1085         (WebInspector.CounterUIBase.prototype.clearCurrentValueAndMarker):
1086         (WebInspector.CounterUIBase.prototype.get visible):
1087         (WebInspector.DOMCounterUI):
1088         (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
1089         (WebInspector.MemoryStatistics.prototype._onMouseOut):
1090         (WebInspector.MemoryStatistics.prototype._clearCurrentValueAndMarker):
1091         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1092         (WebInspector.MemoryStatistics.prototype._updateCurrentValue):
1093         (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
1094         (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
1095         (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
1096         (WebInspector.MemoryStatistics.prototype._drawMarker):
1097         (WebInspector.MemoryStatistics.prototype._clear):
1098         (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
1099
1100 2013-02-08  Mike West  <mkwst@chromium.org>
1101
1102         Add a new IGNORE_EXCEPTION helper to ignore ExceptionCodes when they are expected but uninteresting
1103         https://bugs.webkit.org/show_bug.cgi?id=108771
1104
1105         Reviewed by Eric Seidel.
1106
1107         In cases where the ExceptionCode passed into a function is completely
1108         ignored, this patch replaces it with a new IGNORE_EXCEPTION macro. This
1109         makes our expectations about possible exceptions (or lack thereof)
1110         explicit, rather than relying on implicit assumptions about whether a
1111         variable is intentionally uninitialized or not. It also removes
1112         knowledge about the internals of ExceptionCodes (that they're currently
1113         ints, for instance) from code that shouldn't care, which will help with
1114         future refactorings.
1115
1116         The implementation is entirely based upon ASSERT_NO_EXCEPTION, and
1117         shouldn't have any visible effect on the web. As long as all the
1118         current tests pass, we're good.
1119
1120         * Modules/indexeddb/IDBRequest.cpp:
1121         (WebCore::IDBRequest::dispatchEvent):
1122         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
1123         * Modules/indexeddb/IDBTransaction.cpp:
1124         (WebCore::IDBTransaction::stop):
1125         * Modules/websockets/WebSocketChannel.cpp:
1126         (WebCore::WebSocketChannel::processBuffer):
1127         * dom/Document.cpp:
1128         (WebCore::Document::processHttpEquiv):
1129         * dom/ExceptionCodePlaceholder.h:
1130         (WebCore):
1131         * dom/Node.cpp:
1132         (WebCore::Node::normalize):
1133         * dom/Text.cpp:
1134         (WebCore::Text::replaceWholeText):
1135         * editing/AlternativeTextController.cpp:
1136         (WebCore::AlternativeTextController::insertDictatedText):
1137         * editing/AppendNodeCommand.cpp:
1138         (WebCore::AppendNodeCommand::doApply):
1139         (WebCore::AppendNodeCommand::doUnapply):
1140         * editing/CompositeEditCommand.cpp:
1141         (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt):
1142         * editing/DeleteFromTextNodeCommand.cpp:
1143         (WebCore::DeleteFromTextNodeCommand::doUnapply):
1144         * editing/Editor.cpp:
1145         (WebCore::dispatchEditableContentChangedEvents):
1146         (WebCore::Editor::applyEditingStyleToElement):
1147         * editing/EditorCommand.cpp:
1148         (WebCore::executeFormatBlock):
1149         * editing/FormatBlockCommand.cpp:
1150         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
1151         * editing/InsertIntoTextNodeCommand.cpp:
1152         (WebCore::InsertIntoTextNodeCommand::doApply):
1153         (WebCore::InsertIntoTextNodeCommand::doUnapply):
1154         * editing/InsertListCommand.cpp:
1155         (WebCore::InsertListCommand::doApplyForSingleParagraph):
1156         * editing/InsertNodeBeforeCommand.cpp:
1157         (WebCore::InsertNodeBeforeCommand::doApply):
1158         (WebCore::InsertNodeBeforeCommand::doUnapply):
1159         * editing/RemoveCSSPropertyCommand.cpp:
1160         (WebCore::RemoveCSSPropertyCommand::doApply):
1161         (WebCore::RemoveCSSPropertyCommand::doUnapply):
1162         * editing/RemoveNodeCommand.cpp:
1163         (WebCore::RemoveNodeCommand::doApply):
1164         (WebCore::RemoveNodeCommand::doUnapply):
1165         * editing/ReplaceSelectionCommand.cpp:
1166         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1167         * editing/TextIterator.cpp:
1168         (WebCore::TextIterator::getLocationAndLengthFromRange):
1169         * editing/WrapContentsInDummySpanCommand.cpp:
1170         (WebCore::WrapContentsInDummySpanCommand::executeApply):
1171         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
1172         * editing/htmlediting.cpp:
1173         (WebCore::comparePositions):
1174         * editing/markup.cpp:
1175         (WebCore::highestAncestorToWrapMarkup):
1176         * html/FTPDirectoryDocument.cpp:
1177         (WebCore::FTPDirectoryDocumentParser::appendEntry):
1178         (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
1179         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
1180         (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
1181         * html/HTMLMediaElement.cpp:
1182         (WebCore::HTMLMediaElement::rewind):
1183         (WebCore::HTMLMediaElement::returnToRealtime):
1184         (WebCore::HTMLMediaElement::playInternal):
1185         (WebCore::HTMLMediaElement::percentLoaded):
1186         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1187         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
1188         (WebCore::HTMLMediaElement::applyMediaFragmentURI):
1189         * html/HTMLOutputElement.cpp:
1190         (WebCore::HTMLOutputElement::setTextContentInternal):
1191         * html/HTMLSelectElement.cpp:
1192         (WebCore::HTMLSelectElement::remove):
1193         * html/HTMLTableElement.cpp:
1194         (WebCore::HTMLTableElement::createTHead):
1195         (WebCore::HTMLTableElement::deleteTHead):
1196         (WebCore::HTMLTableElement::createTFoot):
1197         (WebCore::HTMLTableElement::deleteTFoot):
1198         (WebCore::HTMLTableElement::createCaption):
1199         (WebCore::HTMLTableElement::deleteCaption):
1200         * html/HTMLTextAreaElement.cpp:
1201         (WebCore::HTMLTextAreaElement::setDefaultValue):
1202         * html/ImageDocument.cpp:
1203         (WebCore::ImageDocument::createDocumentStructure):
1204         * html/InputType.cpp:
1205         (WebCore::InputType::stepUpFromRenderer):
1206         * html/MediaController.cpp:
1207         (MediaController::bringElementUpToSpeed):
1208         (MediaController::asyncEventTimerFired):
1209         * html/MediaDocument.cpp:
1210         (WebCore::MediaDocumentParser::createDocumentStructure):
1211         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1212         * html/PluginDocument.cpp:
1213         (WebCore::PluginDocumentParser::createDocumentStructure):
1214         * html/RangeInputType.cpp:
1215         (WebCore::RangeInputType::handleKeydownEvent):
1216         * html/TimeRanges.cpp:
1217         (TimeRanges::contain):
1218         (TimeRanges::nearest):
1219         * html/canvas/CanvasRenderingContext2D.cpp:
1220         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1221         * html/shadow/MediaControlElementTypes.cpp:
1222         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
1223         * html/shadow/MediaControlElements.cpp:
1224         (WebCore::MediaControlPanelElement::setPosition):
1225         (WebCore::MediaControlPanelElement::resetPosition):
1226         (WebCore::MediaControlStatusDisplayElement::update):
1227         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
1228         (WebCore::MediaControlTimelineElement::defaultEventHandler):
1229         * html/shadow/MediaControls.cpp:
1230         (WebCore::MediaControls::updateCurrentTimeDisplay):
1231         (WebCore::MediaControls::createTextTrackDisplay):
1232         * html/shadow/MediaControlsApple.cpp:
1233         (WebCore::MediaControlsApple::updateCurrentTimeDisplay):
1234         * html/shadow/MediaControlsBlackBerry.cpp:
1235         (WebCore::MediaControlEmbeddedPanelElement::setPosition):
1236         (WebCore::MediaControlEmbeddedPanelElement::resetPosition):
1237         (WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler):
1238         (WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay):
1239         * html/shadow/MediaControlsChromium.cpp:
1240         (WebCore::MediaControlsChromium::updateCurrentTimeDisplay):
1241         * html/track/InbandTextTrack.cpp:
1242         (WebCore::InbandTextTrack::addGenericCue):
1243         * inspector/InspectorCSSAgent.cpp:
1244         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1245         * inspector/InspectorHistory.cpp:
1246         (WebCore::InspectorHistory::markUndoableState):
1247         * inspector/InspectorResourceAgent.cpp:
1248         (WebCore::InspectorResourceAgent::replayXHR):
1249         * page/ContextMenuController.cpp:
1250         (WebCore::ContextMenuController::contextMenuItemSelected):
1251         * page/DOMWindow.cpp:
1252         (WebCore::didAddStorageEventListener):
1253         * page/DragController.cpp:
1254         (WebCore::documentFragmentFromDragData):
1255         * page/EventHandler.cpp:
1256         (WebCore::EventHandler::dispatchDragEvent):
1257         (WebCore::EventHandler::keyEvent):
1258         (WebCore::EventHandler::handleTextInputEvent):
1259         * page/Page.cpp:
1260         (WebCore::Page::findStringMatchingRanges):
1261         * platform/efl/RenderThemeEfl.cpp:
1262         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
1263         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1264         (WebCore::MediaPlayerPrivate::percentLoaded):
1265         * platform/gtk/RenderThemeGtk.cpp:
1266         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
1267         * platform/mac/PasteboardMac.mm:
1268         (WebCore::Pasteboard::getDataSelection):
1269         (WebCore::documentFragmentWithImageResource):
1270         (WebCore::Pasteboard::documentFragment):
1271         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1272         (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
1273         (-[WebVideoFullscreenHUDWindowController setVolume:]):
1274         * platform/qt/RenderThemeQt.cpp:
1275         (WebCore::RenderThemeQt::paintMediaSliderTrack):
1276         * rendering/RenderNamedFlowThread.cpp:
1277         (WebCore::RenderNamedFlowThread::getRanges):
1278         * rendering/RenderThemeMac.mm:
1279         (WebCore::RenderThemeMac::paintMediaSliderTrack):
1280         * svg/SVGTRefElement.cpp:
1281         (WebCore::SVGTRefElement::detachTarget):
1282         * xml/XMLTreeViewer.cpp:
1283         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
1284         * xml/parser/XMLDocumentParserLibxml2.cpp:
1285         (WebCore::XMLDocumentParser::endElementNs):
1286         * xml/parser/XMLDocumentParserQt.cpp:
1287         (WebCore::XMLDocumentParser::parseEndElement):
1288
1289 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
1290
1291         Web Inspector: Introduce workspace provider/project type, encapsulate uri creation in SimpleWorkspaceProvider.
1292         https://bugs.webkit.org/show_bug.cgi?id=109282
1293
1294         Reviewed by Alexander Pavlov.
1295
1296         SimpleWorkspaceProvider now fully takes care of creating uri based on project/workspace provider type.
1297         This is the first step on the way to project-per-domain mode for non file system project types.
1298         Workspace is now partly aware of the possibility that several projects with the same type exist.
1299         Drive-by: ScriptsPanel now uses FileMapping to show anchor location properly.
1300
1301         * inspector/front-end/DefaultScriptMapping.js:
1302         (WebInspector.DefaultScriptMapping):
1303         (WebInspector.DefaultScriptMapping.prototype.addScript):
1304         * inspector/front-end/ExtensionServer.js:
1305         (WebInspector.ExtensionServer.prototype._onGetPageResources):
1306         * inspector/front-end/FileMapping.js:
1307         (WebInspector.FileMapping.prototype.uriForURL):
1308         * inspector/front-end/FileSystemWorkspaceProvider.js:
1309         (WebInspector.FileSystemWorkspaceProvider.prototype.type):
1310         * inspector/front-end/JavaScriptSourceFrame.js:
1311         (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
1312         * inspector/front-end/LiveEditSupport.js:
1313         (WebInspector.LiveEditSupport):
1314         (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
1315         * inspector/front-end/ScriptSnippetModel.js:
1316         (WebInspector.ScriptSnippetModel):
1317         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1318         * inspector/front-end/ScriptsNavigator.js:
1319         (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
1320         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
1321         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
1322         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
1323         * inspector/front-end/ScriptsPanel.js:
1324         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1325         (WebInspector.ScriptsPanel.prototype._projectWillReset):
1326         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1327         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1328         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
1329         * inspector/front-end/SimpleWorkspaceProvider.js:
1330         (WebInspector.SimpleWorkspaceProvider):
1331         (WebInspector.SimpleWorkspaceProvider.uriForURL):
1332         (WebInspector.SimpleWorkspaceProvider.prototype.type):
1333         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
1334         (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
1335         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
1336         (WebInspector.SimpleWorkspaceProvider.prototype._uniqueURI):
1337         * inspector/front-end/Workspace.js:
1338         (WebInspector.WorkspaceProvider.prototype.type):
1339         (WebInspector.Project.prototype.type):
1340         (WebInspector.Project.prototype.isServiceProject):
1341         (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
1342         (WebInspector.Workspace.prototype.uiSourceCodesForProjectType):
1343         (WebInspector.Workspace.prototype.projectsForType):
1344         * inspector/front-end/inspector.js:
1345
1346 2013-02-08  ChangSeok Oh  <shivamidow@gmail.com>
1347
1348         [GTK][AC] GraphicsLayerClutter doesn't need to recalculate its position after changing anchor position.
1349         https://bugs.webkit.org/show_bug.cgi?id=109226
1350
1351         Reviewed by Gustavo Noronha Silva.
1352
1353         Clutter has a different coordinate system from mac port's, so we don't need to
1354         recalulate GraphicsLayer position after changing its anchor position.
1355
1356         Covered by existing ac tests.
1357
1358         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1359         (WebCore::GraphicsLayerClutter::updateGeometry):
1360
1361 2013-02-08  Mike West  <mkwst@chromium.org>
1362
1363         Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
1364         https://bugs.webkit.org/show_bug.cgi?id=109266
1365
1366         Reviewed by Jochen Eisinger.
1367
1368         The pattern:
1369
1370             ExceptionCode ec = 0;
1371             methodThatGeneratesException(ec);
1372             ASSERT(!ec);
1373
1374         is more clearly and succinctly written as:
1375
1376             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1377
1378         This patch replaces the occurances of the former in IDB code that never
1379         touch 'ec' again with the latter. No change in behavior should result
1380         from this refactoring.
1381
1382         * Modules/indexeddb/IDBCursor.cpp:
1383         (WebCore::IDBCursor::advance):
1384         (WebCore::IDBCursor::continueFunction):
1385         (WebCore::IDBCursor::deleteFunction):
1386             These methods checked the value of the ExceptionCode without first
1387             initializing it to 0. Now the ExceptionCode is explicitly set to 0
1388             before doing potentially exception-generating work.
1389         (WebCore::IDBCursor::direction):
1390         * Modules/indexeddb/IDBObjectStore.cpp:
1391         (WebCore):
1392         * Modules/indexeddb/IDBTransaction.cpp:
1393         (WebCore::IDBTransaction::mode):
1394             Replace the above pattern with ASSERT_NO_EXCEPTION.
1395
1396 2013-02-08  Mike West  <mkwst@chromium.org>
1397
1398         Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
1399         https://bugs.webkit.org/show_bug.cgi?id=109267
1400
1401         Reviewed by Jochen Eisinger.
1402
1403         The pattern:
1404
1405             ExceptionCode ec = 0;
1406             methodThatGeneratesException(ec);
1407             ASSERT(!ec);
1408
1409         is more clearly and succinctly written as:
1410
1411             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1412
1413         This patch replaces the occurances of the former in SVG code that never
1414         touch 'ec' again with the latter. No change in behavior should result
1415         from this refactoring.
1416
1417         * svg/SVGLength.cpp:
1418         (WebCore::SVGLength::SVGLength):
1419         (WebCore::SVGLength::setValue):
1420             This method checked the value of the ExceptionCode without first
1421             initializing it to 0. Now it initializes before doing potentially
1422             exception-generating work.
1423         * rendering/style/SVGRenderStyle.h:
1424         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
1425         (WebCore::SVGRenderStyle::initialKerning):
1426         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
1427         (WebCore::SVGRenderStyle::initialStrokeWidth):
1428         * svg/SVGAnimatedLength.cpp:
1429         (WebCore::sharedSVGLength):
1430         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
1431         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
1432         * svg/SVGAnimatedLengthList.cpp:
1433         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
1434         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1435         * svg/SVGTextContentElement.cpp:
1436         (WebCore::SVGTextContentElement::textLengthAnimated):
1437         * svg/animation/SVGSMILElement.cpp:
1438         (WebCore::constructQualifiedName):
1439             Replace the above pattern with ASSERT_NO_EXCEPTION.
1440
1441 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
1442
1443         Web Inspector: Replace workspace with project in UISourceCode constructor.
1444         https://bugs.webkit.org/show_bug.cgi?id=109256
1445
1446         Reviewed by Alexander Pavlov.
1447
1448         Replaced workspace with project in UISourceCode constructor since every UISourceCode
1449         operation is delegated to project anyway.
1450
1451         * inspector/front-end/UISourceCode.js:
1452         (WebInspector.UISourceCode):
1453         (WebInspector.UISourceCode.prototype.project):
1454         (WebInspector.UISourceCode.prototype.requestContent):
1455         (WebInspector.UISourceCode.prototype.requestOriginalContent):
1456         (WebInspector.UISourceCode.prototype._commitContent):
1457         (WebInspector.UISourceCode.prototype.searchInContent):
1458         * inspector/front-end/Workspace.js:
1459         (WebInspector.Project.prototype._fileAdded):
1460         (WebInspector.Project.prototype.requestFileContent):
1461         (WebInspector.Project.prototype.setFileContent):
1462         (WebInspector.Project.prototype.searchInFileContent):
1463
1464 2013-02-08  Patrick Gansterer  <paroga@webkit.org>
1465
1466         Build fix for Windows after r141981.
1467
1468         * platform/network/win/ResourceHandleWin.cpp:
1469         (WebCore::ResourceHandle::loadResourceSynchronously):
1470
1471 2013-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1472
1473         Unreviewed, rolling out r141695 and r141697.
1474         http://trac.webkit.org/changeset/141695
1475         http://trac.webkit.org/changeset/141697
1476         https://bugs.webkit.org/show_bug.cgi?id=109279
1477
1478         broke on-disk buffering for http(s) media (Requested by philn
1479         on #webkit).
1480
1481         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1482         (WebCore::MediaPlayerPrivateGStreamer::load):
1483         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1484         (MediaPlayerPrivateGStreamer):
1485         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1486         (webKitWebSrcGetProtocols):
1487         (webKitWebSrcSetUri):
1488
1489 2013-02-08  Dan Carney  <dcarney@google.com>
1490
1491         [v8] isolate parameter added to all v8::peristent calls
1492         https://bugs.webkit.org/show_bug.cgi?id=109268
1493
1494         Reviewed by Kentaro Hara.
1495
1496         No new tests. No change in functionality.
1497
1498         * bindings/scripts/CodeGeneratorV8.pm:
1499         (GenerateDomainSafeFunctionGetter):
1500         (GenerateNamedConstructorCallback):
1501         (GenerateImplementation):
1502         * bindings/scripts/test/V8/V8Float64Array.cpp:
1503         (WebCore::V8Float64Array::GetRawTemplate):
1504         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1505         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1506         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
1507         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1508         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
1509         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1510         (WebCore::V8TestEventConstructor::GetRawTemplate):
1511         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1512         (WebCore::V8TestEventTarget::GetRawTemplate):
1513         * bindings/scripts/test/V8/V8TestException.cpp:
1514         (WebCore::V8TestException::GetRawTemplate):
1515         * bindings/scripts/test/V8/V8TestInterface.cpp:
1516         (WebCore::V8TestInterface::GetRawTemplate):
1517         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1518         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
1519         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1520         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1521         (WebCore::V8TestNamedConstructor::GetRawTemplate):
1522         * bindings/scripts/test/V8/V8TestNode.cpp:
1523         (WebCore::V8TestNode::GetRawTemplate):
1524         * bindings/scripts/test/V8/V8TestObj.cpp:
1525         (WebCore::V8TestObj::GetRawTemplate):
1526         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1527         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
1528         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1529         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
1530         * bindings/v8/DOMWrapperMap.h:
1531         (WebCore::DOMWrapperMap::clear):
1532         * bindings/v8/DOMWrapperWorld.cpp:
1533         (WebCore::isolatedWorldWeakCallback):
1534         (WebCore::DOMWrapperWorld::makeContextWeak):
1535         * bindings/v8/NPV8Object.cpp:
1536         (WebCore::freeV8NPObject):
1537         (WebCore::npCreateV8ScriptObject):
1538         * bindings/v8/ScheduledAction.cpp:
1539         (WebCore::ScheduledAction::ScheduledAction):
1540         (WebCore::ScheduledAction::~ScheduledAction):
1541         * bindings/v8/ScopedPersistent.h:
1542         (WebCore::ScopedPersistent::ScopedPersistent):
1543         (WebCore::ScopedPersistent::set):
1544         (WebCore::ScopedPersistent::clear):
1545         * bindings/v8/ScriptWrappable.h:
1546         (WebCore::ScriptWrappable::setWrapper):
1547         (WebCore::ScriptWrappable::disposeWrapper):
1548         (WebCore::ScriptWrappable::weakCallback):
1549         * bindings/v8/V8Binding.cpp:
1550         (WebCore::createRawTemplate):
1551         * bindings/v8/V8Binding.h:
1552         (WebCore):
1553         * bindings/v8/V8GCController.cpp:
1554         (WebCore::gcTree):
1555         (WebCore::V8GCController::gcPrologue):
1556         (WebCore::V8GCController::minorGCPrologue):
1557         * bindings/v8/V8GCController.h:
1558         (V8GCController):
1559         * bindings/v8/V8HiddenPropertyName.cpp:
1560         (WebCore::V8HiddenPropertyName::createString):
1561         * bindings/v8/V8LazyEventListener.cpp:
1562         (WebCore::V8LazyEventListener::prepareListenerObject):
1563         * bindings/v8/V8NPObject.cpp:
1564         (WebCore::V8NPTemplateMap::dispose):
1565         (WebCore::npObjectGetProperty):
1566         (WebCore::createV8ObjectForNPObject):
1567         * bindings/v8/V8PerContextData.cpp:
1568         (WebCore::V8PerContextData::dispose):
1569         (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
1570         (WebCore::V8PerContextData::constructorForTypeSlowCase):
1571         * bindings/v8/V8ValueCache.cpp:
1572         (WebCore::makeExternalString):
1573         * bindings/v8/WrapperTypeInfo.h:
1574         (WebCore::WrapperConfiguration::configureWrapper):
1575         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1576         (WebCore::V8HTMLDocument::wrapInShadowObject):
1577         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1578         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1579         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1580         (WebCore::WeakReferenceCallback):
1581         (WebCore::createInjectedScriptHostV8Wrapper):
1582         * bindings/v8/custom/V8LocationCustom.cpp:
1583         (WebCore::V8Location::reloadAccessorGetter):
1584         (WebCore::V8Location::replaceAccessorGetter):
1585         (WebCore::V8Location::assignAccessorGetter):
1586
1587 2013-02-08  Kent Tamura  <tkent@chromium.org>
1588
1589         Adjust usage of ENABLE flags to enable whole content
1590         https://bugs.webkit.org/show_bug.cgi?id=109270
1591
1592         Reviewed by Eric Seidel.
1593
1594         Our common usage of ENABLE flags to enable whole content of files is:
1595
1596         For .cpp files:
1597           #include "config.h"
1598           #if ENABLE(FOOBAR)
1599           #include "FooBar.h"
1600
1601         For .h files:
1602           #ifndef FooBar_h
1603           #define FooBar_h
1604           #if ENABLE(FOOBAR)
1605
1606         Fix files which have uncommon usage, and fix CodeGeneratorV8.pm so that
1607         it generates the common pattern. Note that CodeGeneratorJS.pm already
1608         generates code in this order.
1609
1610         * bindings/scripts/CodeGeneratorV8.pm:
1611         (GenerateHeaderContentHeader):
1612         (GenerateImplementationContentHeader):
1613         * bindings/scripts/test/V8/V8TestCallback.cpp:
1614         * bindings/scripts/test/V8/V8TestCallback.h:
1615         * bindings/scripts/test/V8/V8TestInterface.cpp:
1616         * bindings/scripts/test/V8/V8TestInterface.h:
1617         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1618         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1619         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1620         * html/ColorInputType.cpp:
1621         * html/ColorInputType.h:
1622         * html/DateInputType.cpp:
1623         * html/DateTimeInputType.cpp:
1624         * html/DateTimeInputType.h:
1625         * html/DateTimeLocalInputType.cpp:
1626         * html/HTMLAudioElement.cpp:
1627         * html/HTMLAudioElement.h:
1628         * html/HTMLDataListElement.cpp:
1629         * html/HTMLDialogElement.cpp:
1630         * html/HTMLDialogElement.h:
1631         * html/HTMLMediaElement.cpp:
1632         * html/HTMLMediaElement.h:
1633         * html/HTMLMeterElement.cpp:
1634         * html/HTMLProgressElement.cpp:
1635         * html/HTMLSourceElement.cpp:
1636         * html/HTMLSourceElement.h:
1637         * html/HTMLTrackElement.cpp:
1638         * html/HTMLTrackElement.h:
1639         * html/HTMLVideoElement.cpp:
1640         * html/HTMLVideoElement.h:
1641         * html/MonthInputType.cpp:
1642         * html/TimeInputType.cpp:
1643         * html/WeekInputType.cpp:
1644         * html/shadow/DateTimeFieldElement.h:
1645         * html/shadow/DetailsMarkerControl.cpp:
1646         * html/shadow/MeterShadowElement.cpp:
1647         * html/shadow/ProgressShadowElement.cpp:
1648         * rendering/RenderDetailsMarker.cpp:
1649         * rendering/RenderInputSpeech.cpp:
1650         * rendering/RenderMeter.cpp:
1651         * rendering/RenderProgress.cpp:
1652
1653 2013-02-08  Mike West  <mkwst@chromium.org>
1654
1655         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
1656         https://bugs.webkit.org/show_bug.cgi?id=109044
1657
1658         Reviewed by Darin Adler.
1659
1660         The pattern:
1661
1662             ExceptionCode ec = 0;
1663             methodThatGeneratesException(ec);
1664             ASSERT(!ec);
1665
1666         is more clearly and succinctly written as:
1667
1668             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1669
1670         This patch replaces the occurances of the former that never touch 'ec'
1671         again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
1672         a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
1673         where it does indeed matter that 'ec' get set properly.
1674
1675         No change in behavior should result from this refactoring.
1676
1677         * dom/ContainerNode.cpp:
1678         (WebCore::ContainerNode::takeAllChildrenFrom):
1679         * dom/Document.cpp:
1680         (WebCore::Document::setTitle):
1681         * dom/MessagePort.cpp:
1682         (WebCore::MessagePort::dispatchMessages):
1683         (WebCore::MessagePort::disentanglePorts):
1684         * editing/DeleteButtonController.cpp:
1685         (WebCore::enclosingDeletableElement):
1686         (WebCore::DeleteButtonController::createDeletionUI):
1687             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1688         (WebCore::DeleteButtonController::show):
1689             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1690         * editing/EditorCommand.cpp:
1691         (WebCore::unionDOMRanges):
1692         * editing/ReplaceNodeWithSpanCommand.cpp:
1693         (WebCore::swapInNodePreservingAttributesAndChildren):
1694         * editing/ReplaceSelectionCommand.cpp:
1695         (WebCore::ReplacementFragment::ReplacementFragment):
1696         (WebCore::ReplacementFragment::removeNode):
1697         (WebCore::ReplacementFragment::insertNodeBefore):
1698         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
1699         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
1700         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1701         * editing/SplitTextNodeCommand.cpp:
1702         (WebCore::SplitTextNodeCommand::doUnapply):
1703         * editing/TextIterator.cpp:
1704         (WebCore::CharacterIterator::range):
1705         (WebCore::BackwardsCharacterIterator::range):
1706         (WebCore::TextIterator::rangeFromLocationAndLength):
1707         (WebCore::collapsedToBoundary):
1708         * editing/htmlediting.cpp:
1709         (WebCore::createTabSpanElement):
1710         * editing/mac/EditorMac.mm:
1711         (WebCore::Editor::fontForSelection):
1712         (WebCore::Editor::fontAttributesForSelectionStart):
1713         * editing/markup.cpp:
1714         (WebCore::createMarkup):
1715         (WebCore::trimFragment):
1716         (WebCore::createFragmentFromMarkupWithContext):
1717         (WebCore::fillContainerFromString):
1718         (WebCore::createFragmentFromText):
1719         (WebCore::createFragmentFromNodes):
1720         * html/ColorInputType.cpp:
1721         (WebCore::ColorInputType::createShadowSubtree):
1722             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1723         * html/HTMLOptionsCollection.cpp:
1724         (WebCore::HTMLOptionsCollection::add):
1725             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1726         * html/HTMLTextAreaElement.cpp:
1727         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
1728         * html/HTMLTextFormControlElement.cpp:
1729         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
1730         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1731         * html/TextFieldInputType.cpp:
1732         (WebCore::TextFieldInputType::updatePlaceholderText):
1733         * html/ValidationMessage.cpp:
1734         (WebCore::ValidationMessage::buildBubbleTree):
1735         * html/shadow/MediaControlElementTypes.cpp:
1736         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1737         * inspector/InspectorPageAgent.cpp:
1738         (WebCore::InspectorPageAgent::getCookies):
1739         * inspector/InspectorStyleSheet.cpp:
1740         (WebCore::InspectorStyleSheet::addRule):
1741         * loader/appcache/ApplicationCacheHost.cpp:
1742         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
1743         * page/DOMSelection.cpp:
1744         (WebCore::DOMSelection::deleteFromDocument):
1745         * page/DragController.cpp:
1746         (WebCore::prepareClipboardForImageDrag):
1747         * rendering/RenderTextControl.cpp:
1748         (WebCore::RenderTextControl::visiblePositionForIndex):
1749             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1750
1751 2013-02-08  Alexei Filippov  <alph@chromium.org>
1752
1753         Web Inspector: disable profile type switching while profile in progress
1754         https://bugs.webkit.org/show_bug.cgi?id=109178
1755
1756         Reviewed by Yury Semikhatsky.
1757
1758         Disables profile type selection controls when a profiling session
1759         is in progress.
1760
1761         * inspector/front-end/HeapSnapshotView.js:
1762         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
1763         * inspector/front-end/ProfileLauncherView.js:
1764         (WebInspector.ProfileLauncherView.prototype._updateControls):
1765         * inspector/front-end/ProfilesPanel.js:
1766         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
1767
1768 2013-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
1769
1770         Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
1771         https://bugs.webkit.org/show_bug.cgi?id=109263
1772
1773         Reviewed by Yury Semikhatsky.
1774
1775         The chunk size is changed from 100 to 10000.
1776         addString counts only first 256 symbols of the string.o
1777
1778         * inspector/HeapGraphSerializer.cpp:
1779         (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
1780         (WebCore::HeapGraphSerializer::addString):
1781         * inspector/front-end/NativeMemorySnapshotView.js:
1782
1783 2013-02-08  Kentaro Hara  <haraken@chromium.org>
1784
1785         Support a relatedTarget attribute on focus/blur events
1786         https://bugs.webkit.org/show_bug.cgi?id=109176
1787
1788         Reviewed by Ojan Vafai.
1789
1790         In bug 76216, we supported a relatedTarget attribute on
1791         focusin/focusout events. We should also support it on focus/blur events.
1792
1793         See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
1794         for the www-dom discussion.
1795
1796         Test: fast/dom/shadow/shadow-boundary-events.html
1797               fast/events/related-target-focusevent.html
1798
1799         * dom/EventDispatchMediator.cpp:
1800         (WebCore::FocusEventDispatchMediator::create):
1801         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1802         (WebCore::BlurEventDispatchMediator::create):
1803         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1804         * dom/EventDispatchMediator.h:
1805         (FocusEventDispatchMediator):
1806         (BlurEventDispatchMediator):
1807         * dom/Node.cpp:
1808         (WebCore::Node::dispatchFocusInEvent):
1809         (WebCore::Node::dispatchFocusOutEvent):
1810         (WebCore::Node::dispatchFocusEvent):
1811         (WebCore::Node::dispatchBlurEvent):
1812
1813 2013-02-07  Yury Semikhatsky  <yurys@chromium.org>
1814
1815         Web Inspector: reduce number of native memory instrumentation categories
1816         https://bugs.webkit.org/show_bug.cgi?id=109146
1817
1818         Reviewed by Pavel Feldman.
1819
1820         Merged some of memory instrumentation categories.
1821
1822         * dom/WebCoreMemoryInstrumentation.cpp:
1823         (WebCore):
1824         * inspector/front-end/NativeMemorySnapshotView.js:
1825         (WebInspector.MemoryBlockViewProperties._initialize):
1826         * platform/PlatformMemoryInstrumentation.cpp:
1827         (WebCore):
1828
1829 2013-02-07  Mike West  <mkwst@chromium.org>
1830
1831         <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
1832         https://bugs.webkit.org/show_bug.cgi?id=87707
1833
1834         Reviewed by Eric Seidel.
1835
1836         Seamless documents currently render incorrectly when their content fills
1837         the width of the container into which they're placed. Because FrameView
1838         assumes that the container's size is properly set before the first pass
1839         of layout, vertical scrollbars are incorrectly forced onto seamless
1840         content, because seamless sets the container's height to 0 before
1841         handing it off to FrameView for layout. The scrollbars make the
1842         available width for the seamless document ~15px smaller than it should
1843         be, resulting in content getting bumped to the next line.
1844
1845         This patch special-cases FrameView::calculateScrollbarModesForLayout in
1846         order to force scrollbars off for seamless documents with a full visible
1847         height of 0px. Once the layout pass has grabbed the content height and
1848         applied it to the visible height, scrollbars will again be applicable.
1849
1850         The change should be covered by rebaselines for the newly-passing
1851         results in fast/frame/seamless-{float,inline}.html
1852
1853         * page/FrameView.cpp:
1854         (WebCore::FrameView::calculateScrollbarModesForLayout):
1855             If we're rendering a seamless document, and the full visible height
1856             is 0, and the vertical scrollbar would otherwise be ScrollbarAuto,
1857             then force ScrollbarAlwaysOff.
1858
1859 2013-02-07  Kent Tamura  <tkent@chromium.org>
1860
1861         document.activeElement should not return a non-focusable element
1862         https://bugs.webkit.org/show_bug.cgi?id=86707
1863
1864         Reviewed by Hajime Morita.
1865
1866         This is based on a patch by Arpita Bahuguna.
1867
1868         Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
1869
1870         * dom/Document.cpp:
1871         (WebCore::Document::setFocusedNode):
1872         Added check for verifying that the node to be focused is
1873         focusable. However, this check should be skipped for HTMLPlugInElement
1874         because it has special behavior.
1875
1876 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1877
1878         Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
1879         https://bugs.webkit.org/show_bug.cgi?id=109259
1880
1881         Reviewed by Vsevolod Vlasov.
1882
1883         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1884         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
1885         * inspector/front-end/SidebarPane.js:
1886
1887 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1888
1889         [V8] enum V8HiddenPropertyCreationType is not used
1890         https://bugs.webkit.org/show_bug.cgi?id=109250
1891
1892         Reviewed by Adam Barth.
1893
1894         V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
1895
1896         No tests. No change in behavior.
1897
1898         * bindings/v8/V8HiddenPropertyName.cpp:
1899         (WebCore::hiddenReferenceName):
1900         * bindings/v8/V8HiddenPropertyName.h:
1901         (WebCore):
1902
1903 2013-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1904
1905         Unreviewed, rolling out r142212.
1906         http://trac.webkit.org/changeset/142212
1907         https://bugs.webkit.org/show_bug.cgi?id=109255
1908
1909         Causes ASSERT(!m_installed) on launch (Requested by smfr on
1910         #webkit).
1911
1912         * WebCore.exp.in:
1913         * platform/MemoryPressureHandler.cpp:
1914         (WebCore):
1915         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1916         * platform/MemoryPressureHandler.h:
1917         (MemoryPressureHandler):
1918         * platform/mac/MemoryPressureHandlerMac.mm:
1919         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1920
1921 2013-02-07  Hanyee Kim  <choco@company100.net>
1922
1923         NamedFlowCollection should be a ContextDestructionObserver
1924         https://bugs.webkit.org/show_bug.cgi?id=99239
1925
1926         Reviewed by Adam Barth
1927
1928         This patch removes the raw pointer of Document in NamedFlowCollection.
1929         It could be replaced with ContextDestructionObserver.
1930         ContextDestructionObserver has the pointer and clears the pointer
1931         automatically when the document is destroyed. 
1932
1933         * dom/Document.cpp:
1934         (WebCore::Document::~Document):
1935         * dom/NamedFlowCollection.cpp:
1936         (WebCore::NamedFlowCollection::NamedFlowCollection):
1937         (WebCore::NamedFlowCollection::ensureFlowWithName):
1938         (WebCore::NamedFlowCollection::discardNamedFlow):
1939         (WebCore::NamedFlowCollection::document):
1940         (WebCore):
1941         * dom/NamedFlowCollection.h:
1942         (NamedFlowCollection):
1943
1944 2013-02-07  Dean Jackson  <dino@apple.com>
1945
1946         Followup review suggestions from Alexey Proskuryakov on
1947         https://bugs.webkit.org/show_bug.cgi?id=109215
1948
1949         Don't provide a charset on embedded SVG, especially
1950         with incorrect syntax :)
1951
1952         * css/mediaControlsQuickTime.css:
1953         (video::-webkit-media-controls-toggle-closed-captions-button):
1954         (video::-webkit-media-controls-closed-captions-track-list li.selected):
1955         (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
1956
1957 2013-02-07  Seulgi Kim  <seulgikim@company100.net>
1958
1959         [Gtk] RunLoop::run shuold run current thread's run loop.
1960         https://bugs.webkit.org/show_bug.cgi?id=107887
1961
1962         Reviewed by Martin Robinson.
1963
1964         Currently, RunLoop in Gtk can use just main thread's event loop.
1965         But the other ports are implemented to use RunLoop in sub threads.
1966
1967         This patch makes RunLoop constructor create new context, not use default
1968         context.
1969         But in the main thread still uses default context to use main event loop
1970         since there is some codes using glib directly (e.g. in
1971         LayerTreeHostGtk::scheduleLayerFlush).
1972
1973         No new tests. There is no case that uses RunLoop in off the main thread
1974         yet.
1975
1976         * platform/gtk/RunLoopGtk.cpp:
1977         (WebCore::RunLoop::RunLoop):
1978         (WebCore::RunLoop::run):
1979
1980 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1981
1982         [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
1983         https://bugs.webkit.org/show_bug.cgi?id=109186
1984
1985         Reviewed by Adam Barth.
1986
1987         V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
1988
1989         No tests. No change in behavior.
1990
1991         * bindings/scripts/CodeGeneratorV8.pm:
1992         (GenerateNormalAttrGetter):
1993         * bindings/scripts/test/V8/V8TestObj.cpp:
1994         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
1995         * bindings/v8/V8DOMWrapper.cpp:
1996         * bindings/v8/V8DOMWrapper.h:
1997         (V8DOMWrapper):
1998         * bindings/v8/V8HiddenPropertyName.cpp:
1999         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2000         (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
2001         (WebCore):
2002         * bindings/v8/V8HiddenPropertyName.h:
2003         (V8HiddenPropertyName):
2004         (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
2005         * bindings/v8/custom/V8MessageChannelCustom.cpp:
2006         (WebCore::V8MessageChannel::constructorCallbackCustom):
2007         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2008         (WebCore::toV8Object):
2009
2010 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
2011
2012         getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
2013         https://bugs.webkit.org/show_bug.cgi?id=106535
2014
2015         Reviewed by Ojan Vafai.
2016
2017         Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
2018         should use the PseudoElement and it's renderer if they exist so that
2019         querying the computed style while an animation is running returns
2020         the intermediate values.
2021
2022         No new tests, updated existing tests.
2023
2024         * css/CSSComputedStyleDeclaration.cpp:
2025         (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
2026         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
2027         * css/CSSComputedStyleDeclaration.h:
2028         (CSSComputedStyleDeclaration):
2029         * dom/Element.cpp:
2030         (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
2031         * dom/ElementRareData.h:
2032         (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
2033
2034 2013-02-07  Mark Lam  <mark.lam@apple.com>
2035
2036         Add a comment about how the SQLTransaction state machine works.
2037         https://bugs.webkit.org/show_bug.cgi?id=109243.
2038
2039         Rubber stamped by Anders Carlsson.
2040
2041         No new tests.
2042
2043         * Modules/webdatabase/SQLTransactionBackend.cpp:
2044
2045 2013-02-06  Gavin Barraclough  <barraclough@apple.com>
2046
2047         PluginProcess should quit immediately if idle in response to low-memory notifications
2048         https://bugs.webkit.org/show_bug.cgi?id=109103
2049         <rdar://problem/12679827>
2050
2051         Reviewed by Darin Adler.
2052
2053         This patch allows a process to set a custom callback for low memory warnings
2054         (defaulting to the current behaviour, as implemented in releaseMemory).
2055
2056         MemoryPressureHandler::install is currently used for two purposes - it is
2057         called when first initializing a low memory handler for a process, and also
2058         used to reinstall the handler (on a delay) after the notification has occured.
2059         Since reinstallation doesn't change the callback, split these behaviours out -
2060         MemoryPressureHandler::initialize is added to initialization, and accepts a
2061         custom callback, install in made private.
2062
2063         * WebCore.exp.in:
2064             - Added export for releaseMemory.
2065         * platform/MemoryPressureHandler.cpp:
2066         (WebCore::MemoryPressureHandler::releaseMemory):
2067             - Added null implementation for non-Mac builds.
2068         * platform/MemoryPressureHandler.h:
2069         (WebCore::MemoryPressureHandler::initialize):
2070             - distinguish initialization from reinstallations, allow handler to be set.
2071         (MemoryPressureHandler):
2072             - Added m_lowMemoryHandler function pointer member variable.
2073         * platform/mac/MemoryPressureHandlerMac.mm:
2074         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2075             - Call m_lowMemoryHandler instead of releaseMemory.
2076
2077 2013-02-07  Kentaro Hara  <haraken@chromium.org>
2078
2079         [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
2080         https://bugs.webkit.org/show_bug.cgi?id=109167
2081
2082         Reviewed by Andreas Kling.
2083
2084         Given that assertContextHasCorrectPrototype() is anyway empty in a release
2085         build, we don't need to surround it with #ifndef NDEBUG.
2086
2087         No tests. No change in behavior.
2088
2089         * bindings/v8/DOMWrapperWorld.cpp:
2090         (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
2091         * bindings/v8/DOMWrapperWorld.h:
2092         (DOMWrapperWorld):
2093         (WebCore::DOMWrapperWorld::isolated):
2094
2095 2013-02-07  Alexei Svitkine  <asvitkine@chromium.org>
2096
2097         Chromium: Hang parsing bidi control chars on Mac OS X 10.6
2098         https://bugs.webkit.org/show_bug.cgi?id=108877
2099
2100         This was broken a while ago by:
2101             https://bugs.webkit.org/show_bug.cgi?id=83045
2102
2103         On 10.6, CoreText will not produce any runs covering the
2104         Unicode BiDi RTL mark control char, which causes an infinite
2105         loop in ComplexTextController::indexOfCurrentRun() due to no
2106         run covering the character at offset 0.
2107
2108         This patch fixes that issue by finding the earliest run
2109         explicitly via the minimum stringBegin() index instead of
2110         relying on a run existing that covers offset 0.
2111
2112         Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
2113         Chromium bug: http://crbug.com/167844
2114
2115         New test in the same style as the harfbuzz-buffer-overrun.html
2116         test (in the same folder).
2117
2118         Reviewed by Eric Seidel.
2119
2120         Test: fast/text/international/rtl-mark.html
2121
2122         * platform/graphics/mac/ComplexTextController.cpp:
2123         (WebCore::ComplexTextController::indexOfCurrentRun):
2124
2125 2013-02-07  Kentaro Hara  <haraken@chromium.org>
2126
2127         Implement FocusEvent constructor
2128         https://bugs.webkit.org/show_bug.cgi?id=109170
2129
2130         Reviewed by Adam Barth.
2131
2132         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
2133
2134         FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
2135         flag, which is enabled on Chromium and Safari.
2136
2137         Test: fast/events/constructors/focus-event-constructor.html
2138
2139         * dom/FocusEvent.cpp:
2140         (WebCore::FocusEventInit::FocusEventInit):
2141         (WebCore):
2142         (WebCore::FocusEvent::FocusEvent):
2143         * dom/FocusEvent.h:
2144         (FocusEventInit):
2145         (WebCore):
2146         (WebCore::FocusEvent::create):
2147         (FocusEvent):
2148         * dom/FocusEvent.idl:
2149         * page/DOMWindow.idl:
2150
2151 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
2152
2153         HTML parser should queue MutationRecords for its operations
2154         https://bugs.webkit.org/show_bug.cgi?id=89351
2155
2156         Reviewed by Eric Seidel.
2157
2158         Generate mutation records inside the parser. This is done by using a
2159         ChildListMutationScope in the ContainerNode::parser* methods and then
2160         adding delivery before each <script> element would be processed by
2161         the parser.
2162
2163         Test: fast/dom/MutationObserver/parser-mutations.html
2164
2165         * dom/ContainerNode.cpp:
2166         (WebCore::ContainerNode::takeAllChildrenFrom):
2167         (WebCore::ContainerNode::parserInsertBefore):
2168         (WebCore::ContainerNode::parserRemoveChild):
2169         (WebCore::ContainerNode::parserAppendChild):
2170         * html/parser/HTMLScriptRunner.cpp:
2171         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
2172         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
2173         (WebCore::HTMLScriptRunner::execute):
2174         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
2175         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
2176         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
2177         (WebCore::HTMLScriptRunner::runScript):
2178
2179 2013-02-07  Kentaro Hara  <haraken@chromium.org>
2180
2181         Fix FIXMEs in WindowFeatures.h
2182         https://bugs.webkit.org/show_bug.cgi?id=109151
2183
2184         Reviewed by Adam Barth.
2185
2186         1. // FIXME: We can delete this constructor once V8 showModalDialog is
2187            // changed to use DOMWindow.
2188
2189         This FIXME is not right. The WindowFeatures() constructor is used by
2190         other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
2191         So we should remove the FIXME.
2192
2193         2. // FIXME: We can make these functions private non-member functions
2194            // once V8 showModalDialog is changed to use DOMWindow.
2195
2196         Given that V8 now uses DOMWindow in showModalDialog(), we can make the
2197         methods private.
2198
2199         No tests. No change in behavior.
2200
2201         * page/WindowFeatures.h:
2202         (WebCore):
2203         (WebCore::WindowFeatures::WindowFeatures):
2204         (WindowFeatures):
2205
2206 2013-02-07  Adam Barth  <abarth@webkit.org>
2207
2208         fast/parser/document-write-noscript.html fails for threaded HTML parser
2209         https://bugs.webkit.org/show_bug.cgi?id=109237
2210
2211         Reviewed by Eric Seidel.
2212
2213         If there are multiple calls to document.write in an external script, we
2214         need to wait for them all to complete before invalidating the
2215         speculative tokens. Instead of doing this when we unwind the
2216         document.write call stack, we do this when we're about to resume
2217         parsing after script execution.
2218
2219         Test: fast/parser/document-write-basic.html
2220
2221         * html/parser/HTMLDocumentParser.cpp:
2222         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2223         (WebCore::HTMLDocumentParser::insert):
2224         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2225
2226 2013-02-07  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2227
2228         Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
2229         https://bugs.webkit.org/show_bug.cgi?id=109217
2230
2231         Reviewed by Benjamin Poulain.
2232
2233         * css/InspectorCSSOMWrappers.cpp:
2234         (WebCore::InspectorCSSOMWrappers::collect):
2235
2236 2013-02-07  Keishi Hattori  <keishi@webkit.org>
2237
2238         REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
2239         https://bugs.webkit.org/show_bug.cgi?id=109136
2240
2241         Reviewed by Kent Tamura.
2242
2243         Calendar picker was using the "Clear" button to calculate the window width.
2244         Since it doesn't exist when the input element has a required attribute,
2245         it was throwing an error. This patch fixes the width calculating logic.
2246
2247         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
2248                platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
2249
2250         * Resources/pagepopups/calendarPicker.css:
2251         (.today-clear-area):
2252         * Resources/pagepopups/calendarPicker.js:
2253         (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
2254         the width. We don't want to use clear button because it doesn't exist
2255         when a value is required.
2256
2257 2013-02-07  Terry Anderson  <tdanderson@chromium.org>
2258
2259         Non-scrollable divs and non-scrollable iframes can scroll with touch
2260         https://bugs.webkit.org/show_bug.cgi?id=109087
2261
2262         Reviewed by Eric Seidel.
2263
2264         Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
2265                fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
2266
2267         When finding a candidate for a scrollable node in
2268         EventHandler::handleGestureScrollUpdate(), select the document node
2269         if it is reached before any scrollable element when walking up the DOM
2270         tree. Also ensure that calling RenderLayer::scrollBy() for a document
2271         node does not result in scrolling if the element is not scrollable.
2272
2273         * page/EventHandler.cpp:
2274         (WebCore::closestScrollableNodeCandidate):
2275         (WebCore::EventHandler::handleGestureScrollUpdate):
2276         * rendering/RenderLayer.cpp:
2277         (WebCore::RenderLayer::scrollBy):
2278
2279 2013-02-07  Mark Lam  <mark.lam@apple.com>
2280
2281         Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
2282         https://bugs.webkit.org/show_bug.cgi?id=109109.
2283
2284         Reviewed by Anders Carlsson.
2285
2286         Adding back the new SQLTransaction and SQLTransactionSync files.
2287
2288         No new tests.
2289
2290         * Modules/webdatabase/SQLTransaction.cpp: Added.
2291         (WebCore::SQLTransaction::create):
2292         (WebCore::SQLTransaction::SQLTransaction):
2293         (WebCore::SQLTransaction::from):
2294         * Modules/webdatabase/SQLTransaction.h: Added.
2295         (SQLTransaction):
2296         * Modules/webdatabase/SQLTransactionSync.cpp: Added.
2297         (WebCore::SQLTransactionSync::create):
2298         (WebCore::SQLTransactionSync::SQLTransactionSync):
2299         (WebCore::SQLTransactionSync::from):
2300         * Modules/webdatabase/SQLTransactionSync.h: Added.
2301         (SQLTransactionSync):
2302
2303 2013-02-07  Mark Lam  <mark.lam@apple.com>
2304
2305         Introduce SQLTransactionBackend and SQLTransactionBackendSync.
2306         https://bugs.webkit.org/show_bug.cgi?id=109109.
2307
2308         Reviewed by Anders Carlsson.
2309
2310         - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
2311           and SQLTransactionBackendSync respectively.
2312         - Added back SQLTransaction and SQLTransactionSync as new files, and have
2313           their classes extends their respective backends. This is a stop gap
2314           measure to keep things working until the front-end and back-end can be
2315           properly split.
2316           Note: these files will be committed in a subsequent commit to ensure
2317           that the patching goes smoothly.
2318         - Where needed, I made use of new SQLTransaction::from() and
2319           SQLTransactionSync::from() static methods that "get" the front-end
2320           transactions from the back-ends. This is also a stop gap measure to
2321           keep things working until the proper refactoring is complete.
2322         - Fixed up pre-existing style checker violations that are now detected
2323           on code that were touched during my renaming.
2324         - Added the back-end files to all the build files.
2325
2326         No new tests.
2327
2328         * CMakeLists.txt:
2329         * GNUmakefile.list.am:
2330         * Modules/webdatabase/Database.cpp:
2331         (WebCore::Database::scheduleTransactionStep):
2332         * Modules/webdatabase/Database.h:
2333         (Database):
2334         * Modules/webdatabase/DatabaseBackend.h:
2335         (DatabaseBackend):
2336         * Modules/webdatabase/DatabaseTask.cpp:
2337         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
2338         * Modules/webdatabase/DatabaseTask.h:
2339         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
2340         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
2341         (DatabaseBackendAsync::DatabaseTransactionTask):
2342         * Modules/webdatabase/SQLTransaction.cpp: Removed.
2343         * Modules/webdatabase/SQLTransaction.h: Removed.
2344         * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
2345         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
2346         (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
2347         (WebCore::SQLTransactionBackend::executeSQL):
2348         (WebCore::SQLTransactionBackend::enqueueStatement):
2349         (WebCore::SQLTransactionBackend::debugStepName):
2350         (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
2351         (WebCore::SQLTransactionBackend::performNextStep):
2352         (WebCore::SQLTransactionBackend::performPendingCallback):
2353         (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
2354         (WebCore::SQLTransactionBackend::acquireLock):
2355         (WebCore::SQLTransactionBackend::lockAcquired):
2356         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
2357         (WebCore::SQLTransactionBackend::deliverTransactionCallback):
2358         (WebCore::SQLTransactionBackend::scheduleToRunStatements):
2359         (WebCore::SQLTransactionBackend::runStatements):
2360         (WebCore::SQLTransactionBackend::getNextStatement):
2361         (WebCore::SQLTransactionBackend::runCurrentStatement):
2362         (WebCore::SQLTransactionBackend::handleCurrentStatementError):
2363         (WebCore::SQLTransactionBackend::deliverStatementCallback):
2364         (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
2365         (WebCore::SQLTransactionBackend::postflightAndCommit):
2366         (WebCore::SQLTransactionBackend::deliverSuccessCallback):
2367         (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
2368         (WebCore::SQLTransactionBackend::handleTransactionError):
2369         (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
2370         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
2371         * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
2372         (SQLTransactionBackend):
2373         * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
2374         (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
2375         (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
2376         (WebCore::SQLTransactionBackendSync::executeSQL):
2377         (WebCore::SQLTransactionBackendSync::begin):
2378         (WebCore::SQLTransactionBackendSync::execute):
2379         (WebCore::SQLTransactionBackendSync::commit):
2380         (WebCore::SQLTransactionBackendSync::rollback):
2381         * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
2382         (SQLTransactionBackendSync):
2383         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2384         (WebCore::getDatabaseIdentifier):
2385         (WebCore::SQLTransactionCoordinator::processPendingTransactions):
2386         (WebCore::SQLTransactionCoordinator::acquireLock):
2387         (WebCore::SQLTransactionCoordinator::releaseLock):
2388         (WebCore::SQLTransactionCoordinator::shutdown):
2389         * Modules/webdatabase/SQLTransactionCoordinator.h:
2390         (SQLTransactionCoordinator):
2391         (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
2392         (CoordinationInfo):
2393         * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
2394         * Modules/webdatabase/SQLTransactionSync.h: Removed.
2395         * Target.pri:
2396         * WebCore.gypi:
2397         * WebCore.vcproj/WebCore.vcproj:
2398         * WebCore.vcxproj/WebCore.vcxproj:
2399         * WebCore.vcxproj/WebCore.vcxproj.filters:
2400         * WebCore.xcodeproj/project.pbxproj:
2401
2402 2013-02-07  Dean Jackson  <dino@apple.com>
2403
2404         Use new speech bubble artwork for captions menu button
2405         https://bugs.webkit.org/show_bug.cgi?id=109215
2406
2407         Reviewed by Eric Carlson.
2408
2409         Rather than call into RenderTheme to display this button, embed artwork
2410         into the CSS. This means we can remove some uncalled methods in
2411         RenderTheme.
2412
2413         * css/mediaControlsQuickTime.css:
2414         (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
2415         * rendering/RenderTheme.cpp:
2416         (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
2417         * rendering/RenderTheme.h: Remove unused function.
2418         * rendering/RenderThemeMac.h: Ditto.
2419         * rendering/RenderThemeMac.mm: Ditto.
2420
2421 2013-02-07  Michelangelo De Simone  <michelangelo@webkit.org>
2422
2423         [CSS Shaders] Add the last blending step
2424         https://bugs.webkit.org/show_bug.cgi?id=104012
2425
2426         The resulting blended color in mix() is now weighted according to
2427         the original element's backdrop alpha value.
2428
2429         Reviewed by Dean Jackson.
2430
2431         Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
2432
2433         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2434         (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
2435
2436 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2437
2438         Fix two exports of WebCore symbols on iOS
2439         https://bugs.webkit.org/show_bug.cgi?id=109238
2440
2441         Reviewed by David Kilzer.
2442
2443         * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
2444         wkCGContextDrawsWithCorrectShadowOffsets on iOS.
2445
2446 2013-02-07  Hans Muller  <hmuller@adobe.com>
2447
2448         [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
2449         https://bugs.webkit.org/show_bug.cgi?id=107566
2450
2451         Reviewed by David Hyatt.
2452
2453         Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
2454         creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
2455         line. In other words, don't bother creating offset edges that can't define the polygon's
2456         first fit location.
2457
2458         Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
2459
2460         * rendering/ExclusionPolygon.cpp:
2461         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
2462
2463 2013-02-07  Jer Noble  <jer.noble@apple.com>
2464
2465         Improve logging of MediaPlayerPrivateAVFoundation Notifications.
2466         https://bugs.webkit.org/show_bug.cgi?id=109223
2467
2468         Reviewed by Eric Carlson.
2469
2470         Convert the existing Notification enum to an expandable macro. Then add a
2471         Logging-only function which stringifies the enums.
2472
2473         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2474         (WebCore):
2475         (WebCore::notificationName):
2476         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
2477         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2478         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2479
2480 2013-02-07  Martin Robinson  <mrobinson@igalia.com>
2481
2482         [GTK] Cleanup command-line defines
2483         https://bugs.webkit.org/show_bug.cgi?id=109213
2484
2485         Reviewed by Xan Lopez.
2486
2487         * GNUmakefile.am: Remove references to flags that are now handled
2488         via autotoolsconfig.h.
2489
2490 2013-02-07  Tom Sepez  <tsepez@chromium.org>
2491
2492         [V8] Binding Integrity crash in V8MediaStream::createWrapper
2493         https://bugs.webkit.org/show_bug.cgi?id=109211
2494
2495         Reviewed by Adam Barth.
2496
2497         Patch suppresses a chrome crasher.
2498
2499         * Modules/mediastream/MediaStream.idl:
2500
2501 2013-02-07  Eric Carlson  <eric.carlson@apple.com>
2502
2503         [Mac] decrease in-band caption advance notice interval
2504         https://bugs.webkit.org/show_bug.cgi?id=109190
2505
2506         Reviewed by Simon Fraser.
2507
2508         No new tests, no observable change in behavior.
2509
2510         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2511         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
2512
2513 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
2514
2515         [GTK][AC] Clutter required version up to 1.12
2516         https://bugs.webkit.org/show_bug.cgi?id=109037
2517
2518         Reviewed by Martin Robinson.
2519
2520         Replace deprecated clutter apis with new ones.
2521
2522         No new tests, since this patch is minor refactoring.
2523
2524         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2525         (graphicsLayerActorSetAnchorPoint):
2526         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2527         (WebCore::idleDestroy):
2528         (WebCore::GraphicsLayerClutter::updateSublayerList):
2529
2530 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2531
2532         Move pauseAnimation/pauseTransition from TestRunner to Internals
2533         https://bugs.webkit.org/show_bug.cgi?id=109107
2534
2535         Reviewed by Anders Carlsson.
2536
2537         Tests: animations/animation-internals-api-multiple-keyframes.html
2538                animations/animation-internals-api.html
2539
2540         * testing/Internals.cpp:
2541         (WebCore::Internals::pauseAnimationAtTimeOnElement):
2542         (WebCore):
2543         (WebCore::Internals::pauseTransitionAtTimeOnElement):
2544         * testing/Internals.h:
2545         (Internals):
2546         * testing/Internals.idl:
2547
2548 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2549
2550         Unreviewed, rolling out r142155.
2551         http://trac.webkit.org/changeset/142155
2552         https://bugs.webkit.org/show_bug.cgi?id=82888
2553
2554         cr/win build broke.
2555
2556         * bindings/js/JSClipboardCustom.cpp:
2557         (WebCore::JSClipboard::types):
2558         * bindings/v8/custom/V8ClipboardCustom.cpp:
2559         (WebCore::V8Clipboard::typesAccessorGetter):
2560         * dom/Clipboard.h:
2561         (Clipboard):
2562         * platform/blackberry/ClipboardBlackBerry.cpp:
2563         (WebCore::ClipboardBlackBerry::types):
2564         * platform/blackberry/ClipboardBlackBerry.h:
2565         (ClipboardBlackBerry):
2566         * platform/chromium/ChromiumDataObject.cpp:
2567         (WebCore::ChromiumDataObject::types):
2568         * platform/chromium/ChromiumDataObject.h:
2569         (ChromiumDataObject):
2570         * platform/chromium/ClipboardChromium.cpp:
2571         (WebCore::ClipboardChromium::types):
2572         * platform/chromium/ClipboardChromium.h:
2573         (ClipboardChromium):
2574         * platform/efl/ClipboardEfl.cpp:
2575         (WebCore::ClipboardEfl::types):
2576         * platform/efl/ClipboardEfl.h:
2577         (ClipboardEfl):
2578         * platform/gtk/ClipboardGtk.cpp:
2579         (WebCore::ClipboardGtk::types):
2580         * platform/gtk/ClipboardGtk.h:
2581         (ClipboardGtk):
2582         * platform/mac/ClipboardMac.h:
2583         (ClipboardMac):
2584         * platform/mac/ClipboardMac.mm:
2585         (WebCore::addHTMLClipboardTypesForCocoaType):
2586         (WebCore::ClipboardMac::types):
2587         * platform/qt/ClipboardQt.cpp:
2588         (WebCore::ClipboardQt::types):
2589         * platform/qt/ClipboardQt.h:
2590         (ClipboardQt):
2591         * platform/win/ClipboardWin.cpp:
2592         (WebCore::addMimeTypesForFormat):
2593         (WebCore::ClipboardWin::types):
2594         * platform/win/ClipboardWin.h:
2595         (ClipboardWin):
2596
2597 2013-02-07  Rik Cabanier  <cabanier@adobe.com>
2598
2599         Add support for parsing of -webkit-background-blend-mode
2600         https://bugs.webkit.org/show_bug.cgi?id=108547
2601
2602         Reviewed by David Hyatt.
2603
2604         Added parsing and general CSS handling of -webkit-background-blend-mode per 
2605         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
2606
2607         Tests: css3/compositing/background-blend-mode-property-parsing.html
2608                css3/compositing/background-blend-mode-property.html
2609
2610         * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
2611         (WebCore):
2612         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2613         * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
2614         (WebCore::CSSParser::parseValue):
2615         (WebCore::CSSParser::parseFillProperty):
2616         * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
2617         (WebCore::CSSProperty::isInheritedProperty):
2618         * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
2619         * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
2620         (WebCore::CSSToStyleMap::mapFillBlendMode):
2621         (WebCore):
2622         * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
2623         (CSSToStyleMap):
2624         * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
2625         (WebCore::StyleBuilder::StyleBuilder):
2626         * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
2627         (WebCore::FillLayer::FillLayer):
2628         (WebCore::FillLayer::operator=):
2629         (WebCore::FillLayer::operator==):
2630         (WebCore::FillLayer::fillUnsetProperties):
2631         * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
2632         (WebCore::FillLayer::blendMode):
2633         (WebCore::FillLayer::isBlendModeSet):
2634         (WebCore::FillLayer::setBlendMode):
2635         (WebCore::FillLayer::clearBlendMode):
2636         (WebCore::FillLayer::initialFillBlendMode):
2637         (FillLayer):
2638
2639 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2640
2641         Unreviewed, rolling out r142142.
2642         http://trac.webkit.org/changeset/142142
2643         https://bugs.webkit.org/show_bug.cgi?id=109154
2644
2645         Mac expectations were not right. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
2646
2647
2648         * inspector/front-end/DefaultTextEditor.js:
2649         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2650
2651 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2652
2653         Unreviewed, rolling out r142081.
2654         http://trac.webkit.org/changeset/142081
2655         https://bugs.webkit.org/show_bug.cgi?id=109146
2656
2657         The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
2658
2659         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
2660
2661         * dom/WebCoreMemoryInstrumentation.cpp:
2662         (WebCore):
2663         * inspector/front-end/NativeMemorySnapshotView.js:
2664         (WebInspector.MemoryBlockViewProperties._initialize):
2665         * platform/PlatformMemoryInstrumentation.cpp:
2666         (WebCore):
2667
2668 2013-02-07  Bear Travis  <betravis@adobe.com>
2669
2670         [CSS Exclusions] shape-inside does not properly handle padding or border
2671         https://bugs.webkit.org/show_bug.cgi?id=102715
2672
2673         Reviewed by David Hyatt.
2674
2675         This patch positions the exclusion shape based on the value of the css box sizing
2676         property. Geometry calculations happen in the shape coordinate space. For layout,
2677         these coordinates are translated to the border-box coordinate system by adding
2678         the appropriate offsets.
2679
2680         Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
2681
2682         * rendering/ExclusionShapeInfo.cpp:
2683         (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
2684         geometry code.
2685         * rendering/ExclusionShapeInfo.h:
2686         (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
2687         shape dimensions when checking to see if the shape geometry must be recalculated.
2688         (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
2689         (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
2690         (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
2691         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
2692         (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
2693         top of the border box to the logical top of the shape.
2694         (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
2695         left of the border box to the logical left of the shape.
2696         (ExclusionShapeInfo):
2697         * rendering/ExclusionShapeInsideInfo.cpp:
2698         (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
2699         be in shape coordinates.
2700         (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
2701         * rendering/ExclusionShapeInsideInfo.h:
2702         (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
2703         coordinate system (border box) to test for whether a line overlaps a shape.
2704         (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
2705         from the border box.
2706         (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
2707
2708 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2709
2710         Upstream iOS isWebThread() and isUIThread()
2711         https://bugs.webkit.org/show_bug.cgi?id=109130
2712
2713         Reviewed by Sam Weinig.
2714
2715         * bindings/objc/WebScriptObject.mm:
2716         (+[WebScriptObject initialize]):
2717         * platform/mac/SharedBufferMac.mm:
2718         (+[WebCoreSharedBufferData initialize]):
2719         #ifdef out the legacy initialization as it is not correct when
2720         using a WebThread.
2721
2722 2013-02-07  Vivek Galatage  <vivek.vg@samsung.com>
2723
2724         Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
2725         https://bugs.webkit.org/show_bug.cgi?id=107937
2726
2727         Reviewed by Yury Semikhatsky.
2728
2729         The DOM storage agent will fire an event to the frontend based on the action
2730         performed on the storage. Based on this action, the front-end will just add/update/remove
2731         the entry in the view. This enhances the front-end responsiveness as the round trip
2732         for fetching the storage entries has been eliminated.
2733
2734         Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
2735
2736         * inspector/Inspector.json:
2737         * inspector/InspectorDOMStorageAgent.cpp:
2738         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2739         * inspector/front-end/DOMStorage.js:
2740         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
2741         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
2742         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
2743         (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
2744         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
2745         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
2746         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
2747         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
2748         * inspector/front-end/DOMStorageItemsView.js:
2749         (WebInspector.DOMStorageItemsView):
2750         (WebInspector.DOMStorageItemsView.prototype.wasShown):
2751         (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
2752         (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
2753         (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
2754         (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
2755         (WebInspector.DOMStorageItemsView.prototype._update):
2756         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
2757         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
2758         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
2759         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
2760         * inspector/front-end/ResourcesPanel.js:
2761         (WebInspector.ResourcesPanel):
2762         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
2763         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
2764
2765 2013-02-07  Dan Carney  <dcarney@google.com>
2766
2767         [v8] move persistent::new and ::dispose into same class
2768         https://bugs.webkit.org/show_bug.cgi?id=109065
2769
2770         Reviewed by Adam Barth.
2771
2772         No new tests. No change in functionality.
2773
2774         * bindings/scripts/CodeGeneratorV8.pm:
2775         (GenerateSingleConstructorCallback):
2776         (GenerateEventConstructorCallback):
2777         (GenerateNamedConstructorCallback):
2778         (GenerateToV8Converters):
2779         * bindings/scripts/test/V8/V8Float64Array.cpp:
2780         (WebCore::V8Float64Array::createWrapper):
2781         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2782         (WebCore::V8TestActiveDOMObject::createWrapper):
2783         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2784         (WebCore::V8TestCustomNamedGetter::createWrapper):
2785         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2786         (WebCore::V8TestEventConstructor::constructorCallback):
2787         (WebCore::V8TestEventConstructor::createWrapper):
2788         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2789         (WebCore::V8TestEventTarget::createWrapper):
2790         * bindings/scripts/test/V8/V8TestException.cpp:
2791         (WebCore::V8TestException::createWrapper):
2792         * bindings/scripts/test/V8/V8TestInterface.cpp:
2793         (WebCore::V8TestInterface::constructorCallback):
2794         (WebCore::V8TestInterface::createWrapper):
2795         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2796         (WebCore::V8TestMediaQueryListListener::createWrapper):
2797         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2798         (WebCore::V8TestNamedConstructorConstructorCallback):
2799         (WebCore::V8TestNamedConstructor::createWrapper):
2800         * bindings/scripts/test/V8/V8TestNode.cpp:
2801         (WebCore::V8TestNode::constructorCallback):
2802         (WebCore::V8TestNode::createWrapper):
2803         * bindings/scripts/test/V8/V8TestObj.cpp:
2804         (WebCore::V8TestObj::constructorCallback):
2805         (WebCore::V8TestObj::createWrapper):
2806         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2807         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
2808         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
2809         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
2810         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
2811         (WebCore::V8TestOverloadedConstructors::createWrapper):
2812         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2813         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2814         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
2815         * bindings/v8/DOMDataStore.cpp:
2816         * bindings/v8/DOMDataStore.h:
2817         (WebCore::DOMDataStore::setWrapper):
2818         (DOMDataStore):
2819         (WebCore::DOMDataStore::set):
2820         (WebCore::DOMDataStore::setWrapperInObject):
2821         * bindings/v8/DOMWrapperMap.h:
2822         (WebCore::DOMWrapperMap::get):
2823         (WebCore::DOMWrapperMap::set):
2824         (WebCore::DOMWrapperMap::removeAndDispose):
2825         (WebCore::DOMWrapperMap::defaultWeakCallback):
2826         * bindings/v8/ScriptWrappable.h:
2827         (WebCore::ScriptWrappable::wrapper):
2828         (WebCore::ScriptWrappable::setWrapper):
2829         (WebCore::ScriptWrappable::reportMemoryUsage):
2830         (ScriptWrappable):
2831         (WebCore::ScriptWrappable::disposeWrapper):
2832         (WebCore::ScriptWrappable::weakCallback):
2833         * bindings/v8/V8DOMWindowShell.cpp:
2834         (WebCore::V8DOMWindowShell::installDOMWindow):
2835         * bindings/v8/V8DOMWrapper.h:
2836         (V8DOMWrapper):
2837         (WebCore::V8DOMWrapper::associateObjectWithWrapper):
2838         * bindings/v8/V8NPObject.cpp:
2839         (WebCore::weakNPObjectCallback):
2840         (WebCore::createV8ObjectForNPObject):
2841         (WebCore::forgetV8ObjectForNPObject):
2842         * bindings/v8/WorkerScriptController.cpp:
2843         (WebCore::WorkerScriptController::initializeContextIfNeeded):
2844         * bindings/v8/WrapperTypeInfo.h:
2845         (WebCore):
2846         (WrapperConfiguration):
2847         (WebCore::WrapperConfiguration::configureWrapper):
2848         (WebCore::buildWrapperConfiguration):
2849         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2850         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
2851         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2852         (WebCore::wrapArrayBufferView):
2853         (WebCore::constructWebGLArray):
2854         * bindings/v8/custom/V8AudioContextCustom.cpp:
2855         (WebCore::V8AudioContext::constructorCallbackCustom):
2856         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2857         (WebCore::V8DOMFormData::constructorCallbackCustom):
2858         * bindings/v8/custom/V8DataViewCustom.cpp:
2859         (WebCore::V8DataView::constructorCallbackCustom):
2860         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2861         (WebCore::v8HTMLImageElementConstructorCallback):
2862         * bindings/v8/custom/V8IntentCustom.cpp:
2863         (WebCore::V8Intent::constructorCallbackCustom):
2864         * bindings/v8/custom/V8MessageChannelCustom.cpp:
2865         (WebCore::V8MessageChannel::constructorCallbackCustom):
2866         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2867         (WebCore::V8MutationObserver::constructorCallbackCustom):
2868         * bindings/v8/custom/V8WebKitPointCustom.cpp:
2869         (WebCore::V8WebKitPoint::constructorCallbackCustom):
2870         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2871         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
2872
2873 2013-02-07  Zan Dobersek  <zdobersek@igalia.com>
2874
2875         [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
2876         https://bugs.webkit.org/show_bug.cgi?id=109198
2877
2878         Reviewed by Martin Robinson.
2879
2880         * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
2881
2882 2013-02-07   Vineet Chaudhary  <rgf748@motorola.com>
2883
2884         Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
2885         https://bugs.webkit.org/show_bug.cgi?id=82888
2886
2887         Reviewed by Kentaro Hara.
2888
2889         As part of removing custom bindings of types Array Clipboard::types() needs to return
2890         Vector<String> than ListHashSet<String>
2891
2892         No new tests. Existing test should pass with this change as no behavoural changes.
2893
2894         * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
2895         (WebCore::JSClipboard::types):
2896         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
2897         (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
2898         * dom/Clipboard.h: Ditto.
2899         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
2900         (WebCore::ClipboardBlackBerry::types):
2901         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
2902         * platform/chromium/ChromiumDataObject.cpp: Ditto.
2903         (WebCore::ChromiumDataObject::types):
2904         * platform/chromium/ChromiumDataObject.h: Ditto.
2905         * platform/chromium/ClipboardChromium.cpp: Ditto.
2906         (WebCore::ClipboardChromium::types):
2907         * platform/chromium/ClipboardChromium.h: Ditto.
2908         * platform/efl/ClipboardEfl.cpp: Ditto.
2909         (WebCore::ClipboardEfl::types):
2910         * platform/efl/ClipboardEfl.h: Ditto.
2911         * platform/gtk/ClipboardGtk.cpp: Ditto.
2912         (WebCore::ClipboardGtk::types):
2913         * platform/gtk/ClipboardGtk.h: Ditto.
2914         * platform/mac/ClipboardMac.h: Ditto.
2915         * platform/mac/ClipboardMac.mm: Ditto.
2916         (WebCore::addHTMLClipboardTypesForCocoaType):
2917         (WebCore::ClipboardMac::types):
2918         * platform/qt/ClipboardQt.cpp: Ditto.
2919         (WebCore::ClipboardQt::types):
2920         * platform/qt/ClipboardQt.h: Ditto.
2921         * platform/win/ClipboardWin.cpp: Ditto.
2922         (WebCore::addMimeTypesForFormat):
2923         (WebCore::ClipboardWin::types):
2924         * platform/win/ClipboardWin.h: Ditto.
2925
2926 2013-02-07  Kentaro Hara  <haraken@chromium.org>
2927
2928         [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
2929         https://bugs.webkit.org/show_bug.cgi?id=109123
2930
2931         Reviewed by Adam Barth.
2932
2933         Currently StringCache::m_stringCache is implemented as
2934         HashMap<StringImpl*, v8::String*>. Given that v8::String*
2935         can change when a GC is triggered, it is dangerous to store a raw pointer.
2936         We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
2937
2938         This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
2939         although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
2940
2941         No tests. This change highly depends on GC behavior and thus it is
2942         difficult to make a reliable test case.
2943
2944         * bindings/v8/V8ValueCache.cpp:
2945         (WebCore::makeExternalString):
2946         * bindings/v8/V8ValueCache.h:
2947         (StringCache):
2948
2949 2013-01-27  Robert Hogan  <robert@webkit.org>
2950
2951         CSS 2.1 failure: floats-149 fails
2952         https://bugs.webkit.org/show_bug.cgi?id=95772
2953
2954         Reviewed by David Hyatt.
2955
2956         Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
2957
2958         Tests: fast/inline/inline-with-empty-inline-children.html
2959                css2.1/20110323/floats-149.htm
2960
2961         * rendering/InlineIterator.h:
2962         (WebCore::isEmptyInline):
2963         * rendering/RenderBlockLineLayout.cpp:
2964         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
2965         objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping 
2966         through leading whitespace. 
2967
2968 2013-02-07  peavo@outlook.com  <peavo@outlook.com>
2969
2970         [WinCairo] Compile fix after r141981
2971         https://bugs.webkit.org/show_bug.cgi?id=109184
2972
2973         Reviewed by Brent Fulgham.
2974
2975         * platform/network/curl/ResourceHandleCurl.cpp:
2976         (WebCore::ResourceHandle::loadResourceSynchronously):
2977
2978 2013-02-07  Otto Derek Cheung  <otcheung@rim.com>
2979
2980         [BlackBerry] Cookie database isn't loaded into memory in some rare cases
2981         https://bugs.webkit.org/show_bug.cgi?id=109202
2982         PR 286189
2983
2984         Reviewed by Yong Li.
2985         Internally Reviewed by Konrad Piascik.
2986
2987         If a get/setCookie call is made before the database is loaded, or if there's some
2988         kind of error that causes the loading of the database to fail in the constructor
2989         of CookieManager, the browser will get into a state where it seems like cookie is
2990         permanenty disabled.
2991
2992         Instead of logging the errors and redispatching the setCookie, we should do a force sync
2993         to load the cookie database before continuing.
2994
2995         Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
2996         to make sure the code path is correct:
2997         1) Make sure original implementation is retained - open and loading done in the constructor
2998         2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
2999         an initial lag because we are blocking WKT while performing SQLite options).
3000         3) Removed loading in constructor, the new calls loaded the db just fine.
3001
3002         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
3003         (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
3004         (WebCore):
3005         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
3006         (CookieDatabaseBackingStore):
3007         * platform/blackberry/CookieManager.cpp:
3008         (WebCore::CookieManager::setCookies):
3009         (WebCore::CookieManager::getCookie):
3010         (WebCore::CookieManager::generateHtmlFragmentForCookies):
3011         (WebCore::CookieManager::getRawCookies):
3012
3013 2013-02-07  Max Vujovic  <mvujovic@adobe.com>
3014
3015         [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
3016         https://bugs.webkit.org/show_bug.cgi?id=109082
3017
3018         Reviewed by Dean Jackson.
3019
3020         Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
3021
3022         Tests: css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
3023                css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
3024
3025         * page/DOMWindow.idl:
3026
3027 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
3028
3029         Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
3030         https://bugs.webkit.org/show_bug.cgi?id=109201
3031
3032         Reviewed by Pavel Feldman.
3033
3034         * inspector/front-end/NetworkUISourceCodeProvider.js:
3035         (WebInspector.NetworkUISourceCodeProvider):
3036         * inspector/front-end/inspector.js:
3037
3038 2013-02-07  Jessie Berlin  <jberlin@apple.com>
3039
3040         REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
3041         by key
3042         https://bugs.webkit.org/show_bug.cgi?id=109196
3043
3044         Reviewed by Eric Carlson.
3045
3046         * English.lproj/Localizable.strings:
3047         Updated for the changes.
3048         * platform/LocalizedStrings.cpp:
3049         (WebCore::unknownFileSizeText):
3050         Add a key.
3051         (WebCore::textTrackNoLabelText):
3052         Ditto.
3053
3054 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
3055
3056         Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
3057         https://bugs.webkit.org/show_bug.cgi?id=109197
3058
3059         Reviewed by Pavel Feldman.
3060
3061         Javascript syntax errors in console are now linkified so that they show sources panel by default.
3062
3063         * inspector/front-end/ResourceUtils.js:
3064         (WebInspector.linkifyResourceAsNode):
3065
3066 2013-02-07  Eberhard Graether  <egraether@google.com>
3067
3068         Web Inspector: Add settings checkbox for composited layer borders
3069         https://bugs.webkit.org/show_bug.cgi?id=109096
3070
3071         Reviewed by Pavel Feldman.
3072
3073         This change adds a checkbox to show composited layer borders to the WebInspector's
3074         rendering settings and plumbs the setting to Chromium's WebLayerTreeView. The setting
3075         is visible if InspectorClient::canShowDebugBorders() returns true.
3076
3077         No new tests.
3078
3079         * English.lproj/localizedStrings.js:
3080         * inspector/Inspector.json:
3081         * inspector/InspectorClient.h:
3082         (WebCore::InspectorClient::canShowDebugBorders):
3083         (WebCore::InspectorClient::setShowDebugBorders):
3084         (InspectorClient):
3085         * inspector/InspectorPageAgent.cpp:
3086         (PageAgentState):
3087         (WebCore::InspectorPageAgent::restore):
3088         (WebCore::InspectorPageAgent::disable):
3089         (WebCore::InspectorPageAgent::canShowDebugBorders):
3090         (WebCore):
3091         (WebCore::InspectorPageAgent::setShowDebugBorders):
3092         * inspector/InspectorPageAgent.h:
3093         * inspector/front-end/Settings.js:
3094         * inspector/front-end/SettingsScreen.js:
3095         (WebInspector.GenericSettingsTab):
3096         (WebInspector.GenericSettingsTab.prototype.get _showDebugBordersChanged):
3097         * inspector/front-end/inspector.js:
3098         (WebInspector.doLoadedDone):
3099
3100 2013-02-07  Gavin Peters  <gavinp@chromium.org>
3101
3102         Unreviewed, rolling out r142141.
3103         http://trac.webkit.org/changeset/142141
3104         https://bugs.webkit.org/show_bug.cgi?id=108990
3105
3106         Reland r142112, will update Chromium expectations and create a
3107         Chromium bug instead for the crash.
3108
3109         * CMakeLists.txt:
3110         * Target.pri:
3111         * WebCore.pri:
3112         * page/scrolling/ScrollingCoordinator.cpp:
3113         (WebCore::ScrollingCoordinator::create):
3114         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
3115         (WebCore):
3116         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
3117         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
3118         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
3119         (WebCore):
3120         (ScrollingCoordinatorCoordinatedGraphics):
3121         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3122         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
3123         (WebCore):
3124         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3125         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3126         (CoordinatedGraphicsLayerClient):
3127         (CoordinatedGraphicsLayer):
3128
3129 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
3130
3131         Web Inspector: home button behaviour is wrong in DTE
3132         https://bugs.webkit.org/show_bug.cgi?id=109154
3133
3134         Reviewed by Vsevolod Vlasov.
3135
3136         Handle home key shortcut explicitly in TextEditorMainPanel.
3137
3138         New test: inspector/editor/text-editor-home-button.html
3139
3140         * inspector/front-end/DefaultTextEditor.js:
3141         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
3142         (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
3143
3144 2013-02-07  Gavin Peters  <gavinp@chromium.org>
3145
3146         Unreviewed, rolling out r142112.
3147         http://trac.webkit.org/changeset/142112
3148         https://bugs.webkit.org/show_bug.cgi?id=108990
3149
3150         The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
3151
3152         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
3153
3154         * CMakeLists.txt:
3155         * Target.pri:
3156         * WebCore.pri:
3157         * page/scrolling/ScrollingCoordinator.cpp:
3158         (WebCore::ScrollingCoordinator::create):
3159         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
3160         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
3161         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3162         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3163         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3164         (CoordinatedGraphicsLayerClient):
3165         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
3166
3167 2013-02-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3168
3169         Scrollbars misplaced with accelerated compositing for overflow scroll
3170         https://bugs.webkit.org/show_bug.cgi?id=108625
3171
3172         Reviewed by Simon Fraser.
3173
3174         Scrollbars require their own layer if overflow scroll is composited,
3175         otherwise the scrollbars would be rendered on the content layer and
3176         not fixed to the viewport.
3177
3178         * rendering/RenderLayerBacking.cpp:
3179         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
3180         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
3181         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
3182
3183 2013-02-07  Mike West  <mkwst@chromium.org>
3184
3185         Don't ASSERT things about uninitialized variables.
3186         https://bugs.webkit.org/show_bug.cgi?id=109187
3187
3188         Reviewed by Jochen Eisinger.
3189
3190         Rather than ASSERTing that an uninitialized ExceptionCode is non-zero
3191         after some method executes, we should use the ASSERT_NO_EXCEPTION macro.
3192
3193         * editing/markup.cpp:
3194         (WebCore::removeElementPreservingChildren):
3195
3196 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
3197
3198         Web Inspector: [Regression] breakpoint condition not editable
3199         https://bugs.webkit.org/show_bug.cgi?id=109183
3200
3201         Reviewed by Vsevolod Vlasov.
3202
3203         Improve TextEditorMainPanel.selection() method to return null if the
3204         selection is set inside of decoration element.
3205
3206         No new tests.
3207
3208         * inspector/front-end/DOMExtension.js:
3209         (Node.prototype.enclosingNodeOrSelfWithClass): Improve to add iteration boundary.
3210         * inspector/front-end/DefaultTextEditor.js:
3211         (WebInspector.TextEditorMainPanel.prototype.selection):
3212
3213 2013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3214
3215         [WK2][EFL][QT]REGRESSION(r142045): Scrolling is broken
3216         https://bugs.webkit.org/show_bug.cgi?id=109185
3217
3218         Reviewed by Kenneth Rohde Christiansen.
3219
3220         This patch is disabling paints clipping logic added at r142045 for the case 
3221         when the view should render the entire contents (case of using tiled backing store).
3222
3223         No new tests, covered by plenty of existing manual tests that allow scrolling
3224         (for example fixed-position.html).
3225
3226         * platform/ScrollView.cpp:
3227         (WebCore::ScrollView::paint):
3228
3229 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3230
3231         Web Inspector: Show elements and sources sidebar panes in a tabbed pane when they are below the main pane
3232         https://bugs.webkit.org/show_bug.cgi?id=107552
3233
3234         Reviewed by Pavel Feldman.
3235
3236         Removed the aspect ratio detection logic and implemented explicit user action "Split Horizontally" available
3237         in Elements and Sources panels. When split horizontally the sidebar panes are organized into a tabbed pane.
3238         This user action is behind an experimental flag.
3239
3240         No new tests.
3241
3242         * inspector/front-end/ContextMenu.js:
3243         (WebInspector.ContextMenu.prototype.show):
3244         * inspector/front-end/DOMBreakpointsSidebarPane.js:
3245         (WebInspector.DOMBreakpointsSidebarPane.prototype.createProxy):
3246         (WebInspector.DOMBreakpointsSidebarPane.prototype.onContentReady):
3247         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
3248         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expanded):
3249         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expand):
3250         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.collapse):
3251         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.onContentReady):
3252         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.wasShown):
3253         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
3254         * inspector/front-end/ElementsPanel.js:
3255         (WebInspector.ElementsPanel):
3256         (WebInspector.ElementsPanel.prototype._populateContextMenu):
3257         * inspector/front-end/ScriptsPanel.js:
3258         (WebInspector.ScriptsPanel.prototype._clearInterface):
3259         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
3260         (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
3261         * inspector/front-end/Settings.js:
3262         (WebInspector.ExperimentsSettings):
3263         * inspector/front-end/SidebarPane.js:
3264         (WebInspector.SidebarPane):
3265         (WebInspector.SidebarPane.prototype.prepareContent):
3266         (WebInspector.SidebarPane.prototype.expanded):
3267         (WebInspector.SidebarPane.prototype.expand):
3268         (WebInspector.SidebarPane.prototype.collapse):
3269         (WebInspector.SidebarPane.prototype.onContentReady):
3270         (WebInspector.SidebarPane.prototype._setExpandCallback):
3271         (WebInspector.SidebarPaneStack.prototype.addPane):
3272         (WebInspector.SidebarPaneStack.prototype.activePaneId):
3273         (WebInspector.SidebarPaneStack.prototype.setActivePaneId):
3274         (WebInspector.SidebarPaneStack.prototype._setExpanded):
3275         (WebInspector.SidebarPaneStack.prototype._onPaneExpanded):
3276         (WebInspector.SidebarPaneStack.prototype._collapsePane):
3277         (WebInspector.SidebarTabbedPane):
3278         (WebInspector.SidebarTabbedPane.prototype.addPane):
3279         (WebInspector.SidebarTabbedPane.prototype.activePaneId):
3280         (WebInspector.SidebarTabbedPane.prototype.setActivePaneId):
3281         (WebInspector.SidebarPaneGroup):
3282         (WebInspector.SidebarPaneGroup.prototype.setStacked):
3283         (WebInspector.SidebarPaneGroup.prototype.addPane):
3284         (WebInspector.SidebarPaneGroup.prototype.attachToPanel):
3285         (WebInspector.SidebarPaneGroup.prototype.populateContextMenu.toggleSplitDirection):
3286         (WebInspector.SidebarPaneGroup.prototype.get _contextMenuEventFired):
3287         (WebInspector.SidebarPaneGroup.prototype._onSplitDirectionSettingChanged):
3288         * inspector/front-end/SidebarView.js:
3289         (WebInspector.SidebarView):
3290         (WebInspector.SidebarView.prototype._updateSidebarElementStyle):
3291         (WebInspector.SidebarView.prototype.setVertical):
3292         (WebInspector.SidebarView.prototype.onResize):
3293         * inspector/front-end/StylesSidebarPane.js:
3294         (WebInspector.ComputedStyleSidebarPane.prototype.wasShown):
3295         (WebInspector.ComputedStyleSidebarPane.prototype.prepareContent):
3296         * inspector/front-end/inspector.css:
3297         (.sidebar-pane .section .properties, .event-bar .event-properties):
3298         (.pane-title):
3299         (.sidebar-pane-toolbar):
3300         (.sidebar-pane-toolbar > *):
3301         (.sidebar-pane-toolbar > select):
3302         (.sidebar-pane-toolbar > select:hover):
3303         (.sidebar-pane-toolbar > select:active):
3304         (.sidebar-pane-toolbar > select.select-settings):
3305         (.sidebar-pane-toolbar > select.select-filter):
3306         (.sidebar-pane-toolbar > select > option, .sidebar-pane-toolbar > select > hr):
3307         (.sidebar-pane-toolbar > .pane-title-button):
3308         (.sidebar-pane-toolbar > .pane-title-button:hover):
3309         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
3310         (.sidebar-pane-toolbar > .pane-title-button.add):
3311         (.sidebar-pane-toolbar > .pane-title-button.element-state):
3312         (.sidebar-pane-toolbar > .pane-title-button.refresh):
3313         (.sidebar-pane):
3314         (.sidebar-pane > .body):
3315         (.sidebar-pane > .body .info):
3316         (.sidebar-pane > .body .placard + .info):
3317         (.sidebar-pane.visible > .body):
3318         (.sidebar-pane > .body .breakpoint-condition):
3319         (.sidebar-pane.visible:nth-last-of-type(1)):
3320         (.sidebar-pane-subtitle):
3321         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
3322         (.sidebar-pane .breakpoint-hit):
3323
3324 2013-02-07  Gavin Peters  <gavinp@chromium.org>
3325
3326         Unreviewed, rolling out r142111.
3327         http://trac.webkit.org/changeset/142111
3328         https://bugs.webkit.org/show_bug.cgi?id=108055
3329
3330         win7 bot didn't display Arabic, see http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=platform%2Fchromium%2Ffast%2Fforms%2Fcalendar-picker%2Fcalendar-picker-appearance-required-ar.html
3331
3332         * Resources/pagepopups/calendarPicker.css:
3333         (.today-clear-area .today-button):
3334         * Resources/pagepopups/calendarPicker.js:
3335         (CalendarPicker.prototype.fixWindowSize):
3336
3337 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
3338
3339         Web Inspector: [Regression] Map.size() returns negative values.
3340         https://bugs.webkit.org/show_bug.cgi?id=109174
3341
3342         Reviewed by Yury Semikhatsky.
3343
3344         * inspector/front-end/utilities.js:
3345
3346 2013-02-07  Pavel Feldman  <pfeldman@chromium.org>
3347
3348         Web Inspector: break details are only rendered upon first debugger pause.
3349         https://bugs.webkit.org/show_bug.cgi?id=109193
3350
3351         Reviewed by Vsevolod Vlasov.
3352
3353         * inspector/front-end/CallStackSidebarPane.js:
3354         (WebInspector.CallStackSidebarPane.prototype.update):
3355
3356 2013-02-07  Gavin Peters  <gavinp@chromium.org>
3357
3358         Unreviewed, rolling out r142118.
3359         http://trac.webkit.org/changeset/142118
3360         https://bugs.webkit.org/show_bug.cgi?id=109044
3361
3362         Broke SVG! Oh noes!
3363
3364         * Modules/indexeddb/IDBCursor.cpp:
3365         (WebCore::IDBCursor::direction):
3366         * Modules/indexeddb/IDBObjectStore.cpp:
3367         (WebCore):
3368         * Modules/indexeddb/IDBTransaction.cpp:
3369         (WebCore::IDBTransaction::mode):
3370         * dom/ContainerNode.cpp:
3371         (WebCore::ContainerNode::takeAllChildrenFrom):
3372         * dom/Document.cpp:
3373         (WebCore::Document::setTitle):
3374         * dom/MessagePort.cpp:
3375         (WebCore::MessagePort::dispatchMessages):
3376         (WebCore::MessagePort::disentanglePorts):
3377         * editing/DeleteButtonController.cpp:
3378         (WebCore::enclosingDeletableElement):
3379         (WebCore::DeleteButtonController::createDeletionUI):
3380         (WebCore::DeleteButtonController::show):
3381         * editing/EditorCommand.cpp:
3382         (WebCore::unionDOMRanges):
3383         * editing/ReplaceNodeWithSpanCommand.cpp:
3384         (WebCore::swapInNodePreservingAttributesAndChildren):
3385         * editing/ReplaceSelectionCommand.cpp:
3386         (WebCore::ReplacementFragment::ReplacementFragment):
3387         (WebCore::ReplacementFragment::removeNode):
3388         (WebCore::ReplacementFragment::insertNodeBefore):
3389         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3390         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
3391         (WebCore::ReplaceSelectionCommand::insertAsListItems):
3392         * editing/SplitTextNodeCommand.cpp:
3393         (WebCore::SplitTextNodeCommand::doUnapply):
3394         * editing/TextIterator.cpp:
3395         (WebCore::CharacterIterator::range):
3396         (WebCore::BackwardsCharacterIterator::range):
3397         (WebCore::TextIterator::rangeFromLocationAndLength):
3398         (WebCore::collapsedToBoundary):
3399         * editing/htmlediting.cpp:
3400         (WebCore::createTabSpanElement):
3401         * editing/mac/EditorMac.mm:
3402         (WebCore::Editor::fontForSelection):
3403         (WebCore::Editor::fontAttributesForSelectionStart):
3404         * editing/markup.cpp:
3405         (WebCore::createMarkup):
3406         (WebCore::trimFragment):
3407         (WebCore::createFragmentFromMarkupWithContext):
3408         (WebCore::fillContainerFromString):
3409         (WebCore::createFragmentFromText):
3410         (WebCore::createFragmentFromNodes):
3411         * html/ColorInputType.cpp:
3412         (WebCore::ColorInputType::createShadowSubtree):
3413         * html/HTMLOptionsCollection.cpp:
3414         (WebCore::HTMLOptionsCollection::add):
3415         * html/HTMLTextAreaElement.cpp:
3416         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
3417         * html/HTMLTextFormControlElement.cpp:
3418         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
3419         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
3420         * html/TextFieldInputType.cpp:
3421         (WebCore::TextFieldInputType::updatePlaceholderText):
3422         * html/ValidationMessage.cpp:
3423         (WebCore::ValidationMessage::buildBubbleTree):
3424         * html/shadow/MediaControlElementTypes.cpp:
3425         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3426         * inspector/InspectorPageAgent.cpp:
3427         (WebCore::InspectorPageAgent::getCookies):
3428         * inspector/InspectorStyleSheet.cpp:
3429         (WebCore::InspectorStyleSheet::addRule):
3430         * loader/appcache/ApplicationCacheHost.cpp:
3431         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
3432         * page/DOMSelection.cpp:
3433         (WebCore::DOMSelection::deleteFromDocument):
3434         * page/DragController.cpp:
3435         (WebCore::prepareClipboardForImageDrag):
3436         * rendering/RenderTextControl.cpp:
3437         (WebCore::RenderTextControl::visiblePositionForIndex):
3438         * rendering/style/SVGRenderStyle.h:
3439         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
3440         (WebCore::SVGRenderStyle::initialKerning):
3441         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
3442         (WebCore::SVGRenderStyle::initialStrokeWidth):
3443         * svg/SVGAnimatedLength.cpp:
3444         (WebCore::sharedSVGLength):
3445         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
3446         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
3447         * svg/SVGAnimatedLengthList.cpp:
3448         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
3449         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
3450         * svg/SVGLength.cpp:
3451         (WebCore::SVGLength::SVGLength):
3452         * svg/SVGTextContentElement.cpp:
3453         (WebCore::SVGTextContentElement::textLengthAnimated):
3454         * svg/animation/SVGSMILElement.cpp:
3455         (WebCore::constructQualifiedName):
3456
3457 2013-02-07  Kentaro Hara  <haraken@chromium.org>
3458
3459         Remove #if USE(V8) from IDBRequest.h
3460         https://bugs.webkit.org/show_bug.cgi?id=109163
3461
3462         Reviewed by Andreas Kling.
3463
3464         The header included inside the #if USE(V8) macro is not used.
3465         We can simply remove it.
3466
3467         No tests. No change in behavior.
3468
3469         * Modules/indexeddb/IDBRequest.h:
3470
3471 2013-02-07  Stephen Chenney  <schenney@chromium.org>
3472
3473         GraphicsContext::drawImageBuffer is inefficient
3474         https://bugs.webkit.org/show_bug.cgi?id=104367
3475
3476         Reviewed by Dirk Schulze.
3477
3478         This patch converts all of the drawImage and drawImageBuffer
3479         convenience methods (those that take parameters of various types) to
3480         invoke the implementing method (that takes FloatRect src and dest)
3481         directly, rather than through the next-most-convenient method as was
3482         done previously. This will knock some layers off the stack compared
3483         to the existing code, and may remove one or two constructor invocations.
3484         This may be slightly more efficient, and also makes debugging simpler.
3485
3486         Also removes the unused drawImage method that takes and IntRect source
3487         area and IntRect destination. It is not invoked anywhere in a standard
3488         WebKit checkout.
3489
3490         No new tests. No change in functionality, just refactoring.
3491
3492         * platform/graphics/GraphicsContext.cpp:
3493         (WebCore::GraphicsContext::drawImage): Modify all the convenience versions to call
3494         the implementing version directly.
3495         (WebCore::GraphicsContext::drawImageBuffer): Modify all the convenience versions
3496         to call the implementing version directly.
3497         * platform/graphics/GraphicsContext.h:
3498         (GraphicsContext): Remove IntRect, IntRect version of drawImage.
3499
3500 2013-02-07  Kent Tamura  <tkent@chromium.org>
3501
3502         Conversion from localized numbers to HTML numbers should accept not only localized numbers but also HTML numbers
3503         https://bugs.webkit.org/show_bug.cgi?id=109160
3504
3505         Reviewed by Kentaro Hara.
3506
3507         For example, A French user needs to specify a number to a number input
3508         field. He might use a local decimal point, like 3,141592, or he might
3509         use the standard decimal point like 3.141592. We had better accept both
3510         of them.
3511
3512         We accepted both last year, but we changed the behavior so that we
3513         accept only localized numbers because we had some cases where an input
3514         string can be recognized as both of a localized number and the standard
3515         number. e.g. 3.141 is 3141 in French locale and 3.141 in the
3516         standard. Now we introduce a simple rule that we don't accept group
3517         separator at all. So users won't confuse even if we accept both of
3518         decimal points.
3519
3520         Test: fast/forms/number/number-l10n-input.html
3521
3522         * platform/text/PlatformLocale.cpp:
3523         (WebCore::Locale::convertFromLocalizedNumber):
3524         If the specified string contains invalid characters including group
3525         separators, just return the specified string.
3526
3527 2013-02-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
3528
3529         [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
3530         https://bugs.webkit.org/show_bug.cgi?id=109126
3531         PR 292540
3532
3533         Reviewed by Yong Li.
3534
3535         Change char code to 4 bytes.
3536         Need to convert UTF32 key char to UTF16 before constructing a WTF::String.
3537
3538         * platform/PlatformKeyboardEvent.h:
3539         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
3540         (PlatformKeyboardEvent):
3541         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
3542         (WebCore::keyIdentifierForBlackBerryCharacter):
3543         (WebCore::windowsKeyCodeForBlackBerryCharacter):
3544         (WebCore::adjustCharacterFromOS):
3545         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3546
3547 2013-02-07  Mike West  <mkwst@chromium.org>
3548
3549         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
3550         https://bugs.webkit.org/show_bug.cgi?id=109044
3551
3552         Reviewed by Darin Adler.
3553
3554         The pattern:
3555
3556             ExceptionCode ec = 0;
3557             methodThatGeneratesException(ec);
3558             ASSERT(!ec);
3559
3560         is more clearly and succinctly written as:
3561
3562             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
3563
3564         This patch replaces the occurances of the former that never touch 'ec'
3565         again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
3566         a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
3567         where it does indeed matter that 'ec' get set properly.
3568
3569         No change in behavior should result from this refactoring.
3570
3571         * Modules/indexeddb/IDBCursor.cpp:
3572         (WebCore::IDBCursor::direction):
3573         * Modules/indexeddb/IDBObjectStore.cpp:
3574         (WebCore):
3575         * Modules/indexeddb/IDBTransaction.cpp:
3576         (WebCore::IDBTransaction::mode):
3577         * dom/ContainerNode.cpp:
3578         (WebCore::ContainerNode::takeAllChildrenFrom):
3579         * dom/Document.cpp:
3580         (WebCore::Document::setTitle):
3581         * dom/MessagePort.cpp:
3582         (WebCore::MessagePort::dispatchMessages):
3583         (WebCore::MessagePort::disentanglePorts):
3584         * editing/DeleteButtonController.cpp:
3585         (WebCore::enclosingDeletableElement):
3586         (WebCore::DeleteButtonController::createDeletionUI):
3587             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3588         (WebCore::DeleteButtonController::show):
3589             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
3590         * editing/EditorCommand.cpp:
3591         (WebCore::unionDOMRanges):
3592         * editing/ReplaceNodeWithSpanCommand.cpp:
3593         (WebCore::swapInNodePreservingAttributesAndChildren):
3594         * editing/ReplaceSelectionCommand.cpp:
3595         (WebCore::ReplacementFragment::ReplacementFragment):
3596         (WebCore::ReplacementFragment::removeNode):
3597         (WebCore::ReplacementFragment::insertNodeBefore):
3598         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3599         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
3600         (WebCore::ReplaceSelectionCommand::insertAsListItems):
3601         * editing/SplitTextNodeCommand.cpp:
3602         (WebCore::SplitTextNodeCommand::doUnapply):
3603         * editing/TextIterator.cpp:
3604         (WebCore::CharacterIterator::range):
3605         (WebCore::BackwardsCharacterIterator::range):
3606         (WebCore::TextIterator::rangeFromLocationAndLength):
3607         (WebCore::collapsedToBoundary):
3608         * editing/htmlediting.cpp:
3609         (WebCore::createTabSpanElement):
3610         * editing/mac/EditorMac.mm:
3611         (WebCore::Editor::fontForSelection):
3612         (WebCore::Editor::fontAttributesForSelectionStart):
3613         * editing/markup.cpp:
3614         (WebCore::createMarkup):
3615         (WebCore::trimFragment):
3616         (WebCore::createFragmentFromMarkupWithContext):
3617         (WebCore::fillContainerFromString):
3618         (WebCore::createFragmentFromText):
3619         (WebCore::createFragmentFromNodes):
3620         * html/ColorInputType.cpp:
3621         (WebCore::ColorInputType::createShadowSubtree):
3622             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3623         * html/HTMLOptionsCollection.cpp:
3624         (WebCore::HTMLOptionsCollection::add):
3625             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
3626         * html/HTMLTextAreaElement.cpp:
3627         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
3628         * html/HTMLTextFormControlElement.cpp:
3629         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
3630         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
3631         * html/TextFieldInputType.cpp:
3632         (WebCore::TextFieldInputType::updatePlaceholderText):
3633         * html/ValidationMessage.cpp:
3634         (WebCore::ValidationMessage::buildBubbleTree):
3635         * html/shadow/MediaControlElementTypes.cpp:
3636         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3637         * inspector/InspectorPageAgent.cpp:
3638         (WebCore::InspectorPageAgent::getCookies):
3639         * inspector/InspectorStyleSheet.cpp:
3640         (WebCore::InspectorStyleSheet::addRule):
3641         * loader/appcache/ApplicationCacheHost.cpp:
3642         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
3643         * page/DOMSelection.cpp:
3644         (WebCore::DOMSelection::deleteFromDocument):
3645         * page/DragController.cpp:
3646         (WebCore::prepareClipboardForImageDrag):
3647         * rendering/RenderTextControl.cpp:
3648         (WebCore::RenderTextControl::visiblePositionForIndex):
3649         * rendering/style/SVGRenderStyle.h:
3650         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
3651         (WebCore::SVGRenderStyle::initialKerning):
3652         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
3653         (WebCore::SVGRenderStyle::initialStrokeWidth):
3654         * svg/SVGAnimatedLength.cpp:
3655         (WebCore::sharedSVGLength):
3656         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
3657         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
3658         * svg/SVGAnimatedLengthList.cpp:
3659         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
3660         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
3661         * svg/SVGLength.cpp:
3662         (WebCore::SVGLength::SVGLength):
3663         * svg/SVGTextContentElement.cpp:
3664         (WebCore::SVGTextContentElement::textLengthAnimated):
3665         * svg/animation/SVGSMILElement.cpp:
3666         (WebCore::constructQualifiedName):
3667             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3668
3669 2013-02-07  Mary Wu  <mary.wu@torchmobile.com.cn>
3670
3671         [BlackBerry] Export mimeType in NetworkJob
3672         https://bugs.webkit.org/show_bug.cgi?id=109002
3673
3674         Reviewed by Yong Li.
3675
3676         NetworkJob will analysize resource mimetype and set it to resourceResponse,
3677         we will pass it on to be used by other Streams like download stream.
3678
3679         RIM bug# 284408, internally reviewed by Liam Quinn.
3680
3681         * platform/network/blackberry/NetworkJob.cpp:
3682         (WebCore::NetworkJob::mimeType):
3683         (WebCore):
3684         * platform/network/blackberry/NetworkJob.h:
3685         (NetworkJob):
3686
3687 2013-02-07  Peter Rybin  <prybin@chromium.org>
3688
3689         Web Inspector: support JavaScript variable mutation in protocol and V8 bindings
3690         https://bugs.webkit.org/show_bug.cgi?id=107829
3691
3692         A new command is added to protocol description and the call is passed through
3693         debugger agent through injected script and debugger script down to V8 mirror
3694         API. JSC bindings got a thorw exception stub.
3695
3696         Only declarative JavaScript scopes are supported (local, closure, catch). Other
3697         scopes (global, with) are not supported by V8 and not supported by protocol, because
3698         manual approach (direct property assigment) is available for them in form of evaluate
3699         commands and is more desirable because of a complex nature of operation (it can throw
3700         exception in several cases such as exception in setter function).
3701
3702         Reviewed by Pavel Feldman.
3703
3704         Test: inspector-protocol/debugger-setVariableValue.html
3705
3706         * bindings/js/JSInjectedScriptHostCustom.cpp:
3707         (WebCore::JSInjectedScriptHost::setFunctionVariableValue):
3708         (WebCore):
3709         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3710         (WebCore::JSJavaScriptCallFrame::setVariableValue):
3711         (WebCore):
3712         * bindings/v8/DebuggerScript.js:
3713         (.):
3714         * bindings/v8/JavaScriptCallFrame.cpp:
3715         (WebCore::JavaScriptCallFrame::setVariableValue):
3716         (WebCore):
3717         * bindings/v8/JavaScriptCallFrame.h:
3718         (JavaScriptCallFrame):
3719         * bindings/v8/ScriptDebugServer.cpp:
3720         (WebCore::ScriptDebugServer::setFunctionVariableValue):
3721         (WebCore):
3722         * bindings/v8/ScriptDebugServer.h:
3723         (ScriptDebugServer):
3724         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3725         (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallback):
3726         (WebCore):
3727         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3728         (WebCore::V8JavaScriptCallFrame::setVariableValueCallback):
3729         (WebCore):
3730         * inspector/InjectedScript.cpp:
3731         (WebCore::InjectedScript::setVariableValue):
3732         (WebCore):
3733         * inspector/InjectedScript.h:
3734         (InjectedScript):
3735         * inspector/InjectedScriptHost.idl:
3736         * inspector/InjectedScriptSource.js:
3737         (.):
3738         * inspector/Inspector.json:
3739         * inspector/InspectorDebuggerAgent.cpp:
3740         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3741         (WebCore::InspectorDebuggerAgent::setVariableValue):
3742         (WebCore):
3743         * inspector/InspectorDebuggerAgent.h:
3744         (InspectorDebuggerAgent):
3745         * inspector/JavaScriptCallFrame.idl:
3746
3747 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3748
3749         [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
3750         https://bugs.webkit.org/show_bug.cgi?id=108990
3751
3752         Reviewed by Noam Rosenthal.
3753
3754         WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
3755         don't need to traverse the tree every frame to get this information.
3756
3757         The function ScrollingCoordinator::setLayerIsFixedToContainerLayer() is called when
3758         RenderLayerBacking is updating its graphics layers.
3759
3760         The new code also works in new situations where the previous was broken: if a layer changed
3761         from being fixed to not fixed (but still kept as a layer for other reasons), the layer will
3762         be correctly updated. Previous implementation only had logic to mark layers as fixed, but
3763         not the other way round. A manual test was added to illustrate the solved problem.
3764
3765         Testing was done with the existing manual tests that make use of "position:fixed". Automatic
3766         tests are mostly not affected by this because usage of this information affects only the
3767         UseFixedLayout mode, not used by default in WebKitTestRunner. Work to improve this situation
3768         will be tracked in bug https://bugs.webkit.org/show_bug.cgi?id=109175.
3769
3770         * CMakeLists.txt:
3771         * Target.pri:
3772         * WebCore.pri:
3773         * page/scrolling/ScrollingCoordinator.cpp:
3774         (WebCore::ScrollingCoordinator::create): create specific version of ScrollingCoordinator.
3775         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
3776         (WebCore):
3777         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
3778         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
3779         update layer information using existing hook in ScrollingCoordinator.
3780         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
3781         (WebCore):
3782         (ScrollingCoordinatorCoordinatedGraphics):
3783         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3784         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport): now that setting viewport is not
3785         embedded in the synchronization work, we need to mark the layer so it is updated in the
3786         next frame.
3787         (WebCore):
3788         (WebCore::CoordinatedGraphicsLayer::flushCompositingState): remove call to syncFixedLayers().
3789         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3790         (CoordinatedGraphicsLayerClient): remove now unused syncFixedLayers() from client.
3791         (CoordinatedGraphicsLayer):
3792
3793 2013-02-07  Keishi Hattori  <keishi@webkit.org>
3794
3795         REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
3796         https://bugs.webkit.org/show_bug.cgi?id=109136
3797
3798         Reviewed by Kent Tamura.
3799
3800         Calendar picker was using the "Clear" button to calculate the window width.
3801         Since it doesn't exist when the input element has a required attribute,
3802         it was throwing an error. This patch fixes the width calculating logic.
3803
3804         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
3805                platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
3806
3807         * Resources/pagepopups/calendarPicker.css:
3808         (.today-clear-area):
3809         * Resources/pagepopups/calendarPicker.js:
3810         (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
3811         the width. We don't want to use clear button because it doesn't exist
3812         when a value is required.
3813
3814 2013-02-07  Gustavo Noronha Silva  <gns@gnome.org>
3815
3816         Unreviewed build fix. libWebCore.la needs to be relinked when
3817         symbols.filter changes.
3818
3819         * GNUmakefile.am: add symbols.filter as a dependency for the
3820         libWebCore.la library.
3821
3822 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
3823
3824         Web Inspector: Closure compilation fixes
3825         https://bugs.webkit.org/show_bug.cgi?id=109131
3826
3827         Reviewed by Yury Semikhatsky.
3828
3829         * inspector/front-end/ElementsPanel.js:
3830         (WebInspector.ElementsPanel):
3831         * inspector/front-end/FileSystemMapping.js:
3832         (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
3833         * inspector/front-end/IsolatedFileSystemModel.js:
3834         (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
3835         * inspector/front-end/SidebarPane.js:
3836
3837 2013-02-07  Kentaro Hara  <haraken@chromium.org>
3838
3839         Unreviewed, rolling out r142077.
3840         http://trac.webkit.org/changeset/142077
3841         https://bugs.webkit.org/show_bug.cgi?id=108579
3842
3843         fast/filesystem/workers/file-writer-empty-blob.html is broken
3844
3845         * bindings/v8/DOMDataStore.h:
3846         (WebCore::DOMDataStore::setWrapperInObject):
3847         * bindings/v8/DOMWrapperWorld.h:
3848         (DOMWrapperWorld):
3849         (WebCore::DOMWrapperWorld::isolated):
3850         * bindings/v8/V8Binding.h:
3851         (WebCore):
3852         (WebCore::worldForEnteredContextIfIsolated):
3853         * bindings/v8/V8DOMWindowShell.cpp:
3854         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3855         * bindings/v8/V8GCController.cpp:
3856         (WebCore::WrapperVisitor::WrapperVisitor):
3857         (WebCore):
3858         (WebCore::gcTree):
3859         (WebCore::V8GCController::didCreateWrapperForNode):
3860         (WebCore::V8GCController::gcPrologue):
3861         (WebCore::V8GCController::minorGCPrologue):
3862         (WebCore::V8GCController::majorGCPrologue):
3863         * bindings/v8/V8GCController.h:
3864         (V8GCController):
3865
3866 2013-02-07  Tony Gentilcore  <tonyg@chromium.org>
3867
3868         Call XSSAuditor.filterToken() from threaded HTML parser
3869         https://bugs.webkit.org/show_bug.cgi?id=107603
3870
3871         Reviewed by Adam Barth.
3872
3873         With this patch we now pass 180 of 182 tests in http/tests/security/xssAuditor.
3874
3875         We do this by creating aan XSSAuditor on the main thread and passing ownership of them to the BackgroundHTMLParser upon its creation.
3876
3877         Then the background thread calls filterToken() and stores the resulting XSSInfo (if any) on the CompactHTMLToken for the main thread to handle.
3878
3879         This involved trimming the XSSAuditor to only depend on the TextEncoding instead of the whole TextResourceDecoder.
3880
3881         No new tests because covered by existing tests.
3882
3883         * html/parser/BackgroundHTMLParser.cpp:
3884         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3885         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3886         (WebCore::BackgroundHTMLParser::createPartial):
3887         * html/parser/BackgroundHTMLParser.h:
3888         (WebCore):
3889         (WebCore::BackgroundHTMLParser::create):
3890         (BackgroundHTMLParser):
3891         * html/parser/HTMLDocumentParser.cpp:
3892         (WebCore::HTMLDocumentParser::pumpTokenizer):
3893         (WebCore::HTMLDocumentParser::startBackgroundParser):
3894         * html/parser/HTMLSourceTracker.cpp:
3895         (WebCore::HTMLSourceTracker::start):
3896         (WebCore::HTMLSourceTracker::end):
3897         * html/parser/HTMLSourceTracker.h: Change the HTMLInputStream args to SegmentedString because the background thread only has a BackgroundHTMLInputStream.
3898         (HTMLSourceTracker):
3899         * html/parser/HTMLViewSourceParser.cpp:
3900         (WebCore::HTMLViewSourceParser::pumpTokenizer):
3901         * html/parser/XSSAuditor.cpp:
3902         (WebCore::fullyDecodeString):
3903         (WebCore::XSSAuditor::XSSAuditor):
3904         (WebCore::XSSAuditor::init): Copies necessary to make isSafeToSendToAnotherThread() happy.
3905         (WebCore::XSSAuditor::decodedSnippetForName):
3906         (WebCore::XSSAuditor::decodedSnippetForAttribute):
3907         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
3908         (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Check that all String and KURL members are safe to send to another thread.
3909         (WebCore):
3910         * html/parser/XSSAuditor.h:
3911         (WebCore):
3912         (WebCore::FilterTokenRequest::FilterTokenRequest):
3913         (FilterTokenRequest):
3914         (XSSAuditor):
3915
3916 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
3917
3918         [GTK][AC] Implement opacity animation with clutter ac backend
3919         https://bugs.webkit.org/show_bug.cgi?id=108961
3920
3921         Reviewed by Gustavo Noronha Silva.
3922
3923         Implement opacity animation with clutter ac backend.
3924         Almost all implementations of GraphicsLayerClutter are based on mac port's one.
3925         PlatformClutterAnimation interfaces are also similar with mac port, but they are implemented
3926         with native clutter APIs.
3927         This patch includes only opacity animation related changes, so many APIs might be empty.
3928         Remained animations like rotation and translate will be dealt in another patches.
3929
3930         Covered by existing animation tests.
3931
3932         * GNUmakefile.list.am:
3933         * platform/graphics/clutter/GraphicsLayerActor.cpp:
3934         (graphicsLayerActorGetAnimationForKey):
3935         * platform/graphics/clutter/GraphicsLayerActor.h:
3936         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3937         (WebCore):
3938         (WebCore::propertyIdToString):
3939         (WebCore::animationIdentifier):
3940         (WebCore::animationHasStepsTimingFunction):
3941         (WebCore::GraphicsLayerClutter::setOpacity):
3942         (WebCore::GraphicsLayerClutter::updateAnimations):
3943         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
3944         (WebCore::GraphicsLayerClutter::setupAnimation):
3945         (WebCore::GraphicsLayerClutter::timingFunctionForAnimationValue):
3946         (WebCore::GraphicsLayerClutter::createBasicAnimation):
3947         (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
3948         (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
3949         (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
3950         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
3951         (WebCore::GraphicsLayerClutter::createAnimationFromKeyframes):
3952         (WebCore::GraphicsLayerClutter::addAnimation):
3953         (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
3954         (WebCore::GraphicsLayerClutter::pauseClutterAnimationOnLayer):
3955         (WebCore::GraphicsLayerClutter::setAnimationOnLayer):
3956         (WebCore::GraphicsLayerClutter::setAnimationEndpoints):
3957         (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
3958         (WebCore::GraphicsLayerClutter::animatedLayer):
3959         * platform/graphics/clutter/GraphicsLayerClutter.h:
3960         (GraphicsLayerClutter):
3961         (WebCore::GraphicsLayerClutter::LayerPropertyAnimation::LayerPropertyAnimation):
3962         (LayerPropertyAnimation):
3963         (WebCore::GraphicsLayerClutter::AnimationProcessingAction::AnimationProcessingAction):
3964         (AnimationProcessingAction):
3965         * platform/graphics/clutter/PlatformClutterAnimation.cpp: Added.
3966         (WebCore):
3967         (WebCore::timelineStartedCallback):
3968         (WebCore::toClutterAnimationMode):
3969         (WebCore::PlatformClutterAnimation::stringToAnimatedPropertyType):
3970         (WebCore::PlatformClutterAnimation::create):
3971         (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
3972         (WebCore::PlatformClutterAnimation::~PlatformClutterAnimation):
3973         (WebCore::PlatformClutterAnimation::supportsValueFunction):
3974         (WebCore::PlatformClutterAnimation::beginTime):
3975         (WebCore::PlatformClutterAnimation::setBeginTime):
3976         (WebCore::PlatformClutterAnimation::duration):
3977         (WebCore::PlatformClutterAnimation::setDuration):
3978         (WebCore::PlatformClutterAnimation::speed):
3979         (WebCore::PlatformClutterAnimation::setSpeed):
3980         (WebCore::PlatformClutterAnimation::timeOffset):
3981         (WebCore::PlatformClutterAnimation::setTimeOffset):
3982         (WebCore::PlatformClutterAnimation::repeatCount):
3983         (WebCore::PlatformClutterAnimation::setRepeatCount):
3984         (WebCore::PlatformClutterAnimation::autoreverses):
3985         (WebCore::PlatformClutterAnimation::setAutoreverses):
3986         (WebCore::PlatformClutterAnimation::fillMode):
3987         (WebCore::PlatformClutterAnimation::setFillMode):
3988         (WebCore::PlatformClutterAnimation::setTimingFunction):
3989         (WebCore::PlatformClutterAnimation::copyTimingFunctionFrom):
3990         (WebCore::PlatformClutterAnimation::isRemovedOnCompletion):
3991         (WebCore::PlatformClutterAnimation::setRemovedOnCompletion):
3992         (WebCore::PlatformClutterAnimation::isAdditive):
3993         (WebCore::PlatformClutterAnimation::setAdditive):
3994         (WebCore::PlatformClutterAnimation::valueFunction):
3995         (WebCore::PlatformClutterAnimation::setValueFunction):
3996         (WebCore::PlatformClutterAnimation::setFromValue):
3997         (WebCore::PlatformClutterAnimation::copyFromValueFrom):
3998         (WebCore::PlatformClutterAnimation::setToValue):
3999         (WebCore::PlatformClutterAnimation::copyToValueFrom):
4000         (WebCore::PlatformClutterAnimation::setValues):
4001         (WebCore::PlatformClutterAnimation::copyValuesFrom):
4002         (WebCore::PlatformClutterAnimation::setKeyTimes):
4003         (WebCore::PlatformClutterAnimation::copyKeyTimesFrom):
4004         (WebCore::PlatformClutterAnimation::setTimingFunctions):
4005         (WebCore::PlatformClutterAnimation::copyTimingFunctionsFrom):
4006         (WebCore::PlatformClutterAnimation::animationDidStart):
4007         (WebCore::PlatformClutterAnimation::timeline):
4008         (WebCore::PlatformClutterAnimation::addOpacityTransition):
4009         (WebCore::PlatformClutterAnimation::addAnimationForKey):
4010         (WebCore::PlatformClutterAnimation::removeAnimationForKey):
4011         * platform/graphics/clutter/PlatformClutterAnimation.h: Added.
4012         (WebCore):
4013         (PlatformClutterAnimation):
4014         (WebCore::PlatformClutterAnimation::animationType):
<