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