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