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