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