1 2012-06-12 Silvia Pfeiffer <silviapf@chromium.org>
3 Change the volume slider to horizontal rendering for Chrome video controls.
4 https://bugs.webkit.org/show_bug.cgi?id=87835
6 Reviewed by Eric Carlson.
8 No new tests - final patch in the Chrome controls update series will contain rebaselined tests.
10 The Chrome video controls are receiving a visual update. The volume slider is moved into
11 the controls with horizontal rendering, the volume slider container is removed. The visual
12 update itself is in a separate patch.
14 * css/mediaControlsChromium.css:
15 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
16 Removed relative positioning to render all controls elements equally in DOM order.
17 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
18 Removed absolute positioning to render all controls elements equally in DOM order.
19 (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
20 Removed absolute positioning to render all controls elements equally in DOM order.
21 (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
22 Removed volume slider container - it's not necessary any more.
23 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
24 Remove flexbox and introduce inline display to always display this field.
25 (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
26 Removed absolute positioning to render all controls elements equally in DOM order.
27 * html/shadow/MediaControlRootElementChromium.cpp:
28 (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
29 Removed volume slider container - it's not necessary any more.
30 (WebCore::MediaControlRootElementChromium::create):
31 Appended the volume slider and the mute button directly to the panel, removed volume slider container.
32 (WebCore::MediaControlRootElementChromium::setMediaController):
33 Removed volume slider container.
34 (WebCore::MediaControlRootElementChromium::reportedError):
35 Removed volume slider container.
36 (WebCore::MediaControlRootElementChromium::showVolumeSlider):
37 Removed volume slider container.
38 * html/shadow/MediaControlRootElementChromium.h:
40 (MediaControlRootElementChromium):
41 Removed volume slider container.
42 * html/shadow/SliderThumbElement.cpp:
43 (WebCore::hasVerticalAppearance):
44 Allow use of horizontal media volume slider.
45 (WebCore::RenderSliderThumb::layout):
46 Reuse hasVerticalAppearance function.
47 * rendering/RenderMediaControlsChromium.cpp:
48 (WebCore::RenderMediaControlsChromium::paintMediaVolumeSlider):
49 Change line drawing from vertical to horizontal.
50 * rendering/RenderTheme.h:
51 (WebCore::RenderTheme::usesVerticalVolumeSlider):
52 Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
53 * rendering/RenderThemeChromiumMac.h:
54 (WebCore::RenderThemeChromiumMac::usesVerticalVolumeSlider):
55 Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
56 Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
57 * rendering/RenderThemeChromiumSkia.h:
58 (WebCore::RenderThemeChromiumSkia::usesVerticalVolumeSlider):
59 Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
61 2012-06-12 Andrei Bucur <abucur@adobe.com>
63 [CSSRegions]NamedFlow::overset should return true when there's no region chain attached
64 https://bugs.webkit.org/show_bug.cgi?id=88515
66 The CSS Regions specifies that the "overset" attribute needs to return true if the content overflows, there's no region attached to the flow
67 or if the NamedFlow is in the NULL state:
68 http://www.w3.org/TR/css3-regions/#dom-named-flow-overset
70 This patch updates WebKit's behavior in the last two situations to match the one in the spec.
72 Reviewed by Andreas Kling.
74 Test: fast/regions/webkit-named-flow-overset.html was updated
76 * rendering/RenderFlowThread.cpp:
77 (WebCore::RenderFlowThread::RenderFlowThread):
78 (WebCore::RenderFlowThread::computeOverflowStateForRegions): If the last valid region is null, the flow has not region chain attached or it's in the NULL state.
80 2012-06-12 Rahul Tiwari <rahultiwari.cse.iitr@gmail.com>
82 Web Inspector: Provide context menu for deleting recorded profile on Profiles Panel
83 https://bugs.webkit.org/show_bug.cgi?id=88286
85 Added the context menu to delete the selected profile.
87 Reviewed by Pavel Feldman.
89 No new tests required as UI related change
91 * English.lproj/localizedStrings.js: Removed property svn:mime-type.
92 * inspector/front-end/ProfilesPanel.js:
93 (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
95 2012-06-12 Pavel Feldman <pfeldman@chromium.org>
97 Not reviewed: removed svn:mime-type property from English.lproj/localizedStrings.js
99 * English.lproj/localizedStrings.js
101 2012-06-12 Dan Bernstein <mitz@apple.com>
103 Tried to fix the notification-enabled build after r120044.
105 * notifications/NotificationController.cpp:
106 (WebCore::NotificationController::NotificationController):
107 (WebCore::NotificationController::create):
108 (WebCore::provideNotification):
109 * notifications/NotificationController.h:
110 (NotificationController):
112 2012-06-12 Huang Dongsung <luxtella@company100.net>
114 [Qt][Texmap] Falling leaves demo missing clipping.
115 https://bugs.webkit.org/show_bug.cgi?id=88704
117 The bug originated from begining native painting mode of QPainter after enabling
118 scissor test, because begining native painting mode disables scissor test.
120 Covered by existing compositing tests.
122 Reviewed by Noam Rosenthal.
124 * platform/graphics/texmap/TextureMapperGL.cpp:
125 (WebCore::TextureMapperGL::beginPainting):
127 2012-06-12 Csaba Osztrogonác <ossy@webkit.org>
129 [Qt][Win] Buildfix related to fromWinHBITMAP
130 https://bugs.webkit.org/show_bug.cgi?id=88863
132 Reviewed by Jocelyn Turcotte.
134 * platform/graphics/qt/GraphicsContextQt.cpp: Add qt_pixmapFromWinHBITMAP and HBitmapFormat enum.
136 (WebCore::GraphicsContext::releaseWindowsContext):
137 * platform/graphics/qt/ImageQt.cpp:
138 (WebCore): Move qt_pixmapFromWinHBITMAP to outside of WebCore namespace. (Fix after r119924.)
140 2012-06-12 Takashi Sakamoto <tasak@google.com>
142 [Shadow DOM] <style> inside Shadow subtree should be scoped inside the subtree.
143 https://bugs.webkit.org/show_bug.cgi?id=87805
145 Modified HTMLStyleElement to be treated as a scoped style independent
146 of its "scoped" attribute's value if HTMLStyleElement is in shadow
147 subtree. HTMLStyleElement has the following four cases talking about
148 "scoped" attribute and whether is in shadow subtree or not:
149 1, HTMLStyleElement is "scoped" and is in document tree,
150 2, HTMLStyleElement is "scoped" and is in shadow subtree,
151 3, HTMLStyleElement is not "scoped" and is in document tree, and
152 4, HTMLStyleElement is not "scoped" and is in shadow subtree.
153 The case 1 and 2 are not changed. This patch affected the case 4.
154 At the case 4, the HTMLStyleElement's scoping node is the shadow root.
155 This change is the first step for fixing style scope bug,
156 i.e. HTMLStyleElements in shadow subtree are applied to any element
159 Reviewed by Dimitri Glazkov.
161 Test: fast/css/style-scoped/style-scoped-change-scoped-in-shadow.html
163 * css/StyleResolver.cpp:
164 (WebCore::StyleResolver::determineScope):
165 Modified to return a shadow root if a targeted stylesheet owner node is
166 not scoped but in some shadow DOM subtree.
167 * html/HTMLStyleElement.cpp:
168 (WebCore::HTMLStyleElement::HTMLStyleElement):
169 (WebCore::HTMLStyleElement::parseAttribute):
170 Modified to use the below scopedAttributeChanged when a changed
171 attribute's name is "scoped".
172 (WebCore::HTMLStyleElement::scopedAttributeChanged):
173 Newly added. According to new scoped value and isInShadowTree,
174 add or remove style rules to/from scopedAuthorRules via
175 registerWithScopingNode or unregisterWithScopingNode.
176 (WebCore::HTMLStyleElement::registerWithScopingNode):
177 Added one boolean argument to determine whether HTMLStyleElement is
178 scoped or not. The reason why not using scoped() is the comment:
179 "We cannot rely on the scoped element already being present when this
180 method is invoked. Therefore we cannot rely on scoped()"
181 (WebCore::HTMLStyleElement::unregisterWithScopingNode):
182 Changed the code for updating m_isRegisteredWithScopingNode. Now
183 set m_scopedStyleRegistrationState to be NotRegistered.
184 (WebCore::HTMLStyleElement::insertedInto):
185 Modified to invoke registerWithScopingNode when an element is not
186 scoped but in some shadow subtree.
187 (WebCore::HTMLStyleElement::removedFrom):
188 Modified to invoke unregisterWithScopingNode when an element is not
189 scoped but in some shadow subtree.
190 * html/HTMLStyleElement.h:
192 Modified the type of m_isRegisteredWithScopingNode from bool to
193 enum and renamed to m_scopedStyleRegistrationState. Now the member
194 variable keeps what HTMLStyleElement's scoping node is, i.e.
195 none (this means, not in shadow subtree and not scoped), shadow root or
197 Added one new method scopedAttributeChanged's declaration and
198 modified the declaration of registerWithScopingNode.
200 2012-06-12 Amy Ousterhout <aousterh@chromium.org>
202 Removing unused parameter Page
203 https://bugs.webkit.org/show_bug.cgi?id=88848
205 Reviewed by Kentaro Hara.
207 Removed the unused parameter Page* supplied to the create function
208 and constructor in DeviceOrientationController.
210 The parameter Page* was previously stored in an instance variable
211 m_page, but this was removed (see https://bugs.webkit.org/show_bug.cgi?id=88812).
213 No new tests because the removed parameter was unused and untested.
215 * dom/DeviceOrientationController.cpp:
216 (WebCore::DeviceOrientationController::DeviceOrientationController):
217 (WebCore::DeviceOrientationController::create):
218 (WebCore::provideDeviceOrientationTo):
219 * dom/DeviceOrientationController.h:
220 (DeviceOrientationController):
222 2012-06-12 Sheriff Bot <webkit.review.bot@gmail.com>
224 Unreviewed, rolling out r120051.
225 http://trac.webkit.org/changeset/120051
226 https://bugs.webkit.org/show_bug.cgi?id=88852
228 some tests are crashing (Requested by morrita on #webkit).
231 * GNUmakefile.list.am:
234 * WebCore.vcproj/WebCore.vcproj:
235 * WebCore.xcodeproj/project.pbxproj:
236 * bindings/generic/ContextEnabledFeatures.cpp: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.cpp.
238 (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
239 (WebCore::ContextEnabledFeatures::styleScopedEnabled):
240 (WebCore::ContextEnabledFeatures::pagePopupEnabled):
241 * bindings/generic/ContextEnabledFeatures.h: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.h.
243 (ContextEnabledFeatures):
244 * bindings/scripts/CodeGeneratorV8.pm:
245 (GenerateImplementation):
246 * css/StyleResolver.cpp:
247 (WebCore::StyleResolver::determineScope):
248 * dom/ContextFeatures.cpp: Removed.
249 * dom/ContextFeatures.h: Removed.
250 * dom/DOMAllInOne.cpp:
251 * dom/DOMImplementation.cpp:
252 (WebCore::DOMImplementation::createDocument):
253 (WebCore::DOMImplementation::createHTMLDocument):
255 (WebCore::Document::Document):
260 (WebCore::Position::Position):
261 (WebCore::Position::findParent):
263 (WebCore::TreeScope::getSelection):
265 (printConstructorInterior):
266 (printFactoryCppFile):
267 (printWrapperFunctions):
268 (printWrapperFactoryCppFile):
269 * editing/markup.cpp:
270 (WebCore::createFragmentFromMarkupWithContext):
271 * html/HTMLStyleElement.cpp:
272 (WebCore::HTMLStyleElement::registerWithScopingNode):
273 (WebCore::HTMLStyleElement::unregisterWithScopingNode):
274 * html/shadow/HTMLContentElement.cpp:
275 (WebCore::contentTagName):
276 * inspector/DOMPatchSupport.cpp:
277 (WebCore::DOMPatchSupport::patchDocument):
278 * loader/FrameLoaderClient.h:
279 (WebCore::FrameLoaderClient::allowShadowDOM):
280 (WebCore::FrameLoaderClient::allowStyleScoped):
282 (WebCore::FrameLoaderClient::allowPagePopup):
283 * platform/RefCountedSupplement.h: Removed.
284 * platform/Supplementable.h:
285 * xml/XMLHttpRequest.cpp:
286 (WebCore::XMLHttpRequest::responseXML):
288 2012-06-11 Kaustubh Atrawalkar <kaustubh@motorola.com>
290 [DRT] LTC:: counterValueForElementById() could be moved to Internals.
291 https://bugs.webkit.org/show_bug.cgi?id=84406
293 Reviewed by Hajime Morita.
295 Move the counterValueForElementById from LayoutTestCotroller to Internals and
296 remove the old platform specific implementations as it exclusively tests WebCore functionality.
298 Covered by existing test cases.
300 * testing/Internals.cpp:
301 (WebCore::Internals::counterValue):
303 * testing/Internals.h:
305 * testing/Internals.idl:
307 2012-06-11 Hans Wennborg <hans@chromium.org>
309 Speech JavaScript API: Make SpeechRecognitionError an Event
310 https://bugs.webkit.org/show_bug.cgi?id=88784
312 Reviewed by Adam Barth.
314 Make SpeechRecognitionError an Event. The spec was updated to make it
315 an event in its own right, rather than an attribute of
316 SpeechRecognitionEvent.
318 Test: fast/speech/scripted/speechrecognition-errors.html
320 * Modules/speech/SpeechRecognition.cpp:
321 (WebCore::SpeechRecognition::didReceiveError):
322 * Modules/speech/SpeechRecognitionError.cpp:
323 (WebCore::SpeechRecognitionError::SpeechRecognitionError):
324 (WebCore::SpeechRecognitionError::interfaceName):
326 * Modules/speech/SpeechRecognitionError.h:
327 (WebCore::SpeechRecognitionError::create):
328 (SpeechRecognitionError):
329 * Modules/speech/SpeechRecognitionError.idl:
330 * Modules/speech/SpeechRecognitionEvent.cpp:
331 (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
332 * Modules/speech/SpeechRecognitionEvent.h:
333 (SpeechRecognitionEventInit):
334 (SpeechRecognitionEvent):
335 * Modules/speech/SpeechRecognitionEvent.idl:
338 2012-06-12 MORITA Hajime <morrita@google.com>
340 REGRESSION(r118098): <content> element does not render distributed children when cloned from another document
341 https://bugs.webkit.org/show_bug.cgi?id=88148
343 Reviewed by Dimitri Glazkov.
345 The shadow DOM availability was decided through FrameLoaderClient.
346 But there are documents which don't have any associated frames, in
347 which any shadow DOM related elements cannot be constructed. That
348 resulsted the regression.
350 This change introduces a Page-based client called
351 ContextFeaturesClient which takes the role from FrameLoaderClient
352 to decide the feature availability, and ContextFeatures which is a
353 proxy of ContextFeaturesClient. ContextEnabledFeatures is is
354 replaced with ContextFeatures.
356 Each ContextFeatures object is owned by a Page, and is attached to
357 each Document in the page even if the page itself has no referenct
358 to Frames or Pages. With ContextFeatures, each Document can decide
359 the feature availability even if it cannot reach Page or Frame.
361 On RefCountedSupplement: Document instance can live longer than a
362 Page where it is shwon. This means that ContextFeatures instance
363 needs to survive after owner Page destruction because it's
364 referenced from possibly surviving Documents. RefCountedSupplement
365 is introduced to cover this scenario: It allows supplement classes
366 to live after Page's destruction.
368 RefCountedSupplement::hostDestroyed() is notified when the hosting
369 page is gone. ContextFeatures clears its reference to the client
370 using this notification.
372 Test: fast/dom/shadow/elements-in-frameless-document.html
375 * GNUmakefile.list.am:
378 * WebCore.vcproj/WebCore.vcproj:
379 * WebCore.xcodeproj/project.pbxproj:
380 * bindings/scripts/CodeGeneratorV8.pm:
381 (GenerateImplementation):
382 * css/StyleResolver.cpp:
383 (WebCore::StyleResolver::determineScope):
384 * dom/ContextFeatures.cpp: Added.
386 (WebCore::ContextFeaturesClient::empty):
387 (WebCore::ContextFeatures::supplementName):
388 (WebCore::ContextFeatures::defaultSwitch):
389 (WebCore::ContextFeatures::shadowDOMEnabled):
390 (WebCore::ContextFeatures::styleScopedEnabled):
391 (WebCore::ContextFeatures::pagePopupEnabled):
392 (WebCore::provideContextFeaturesTo):
393 (WebCore::provideContextFeaturesToDocumentFrom):
394 * dom/ContextFeatures.h: Added.
397 (WebCore::ContextFeatures::ContextFeatures):
398 (WebCore::ContextFeatures::hostDestroyed):
399 (ContextFeaturesClient):
400 (WebCore::ContextFeaturesClient::~ContextFeaturesClient):
401 (WebCore::ContextFeaturesClient::isEnabled):
402 (WebCore::ContextFeatures::create):
403 (WebCore::ContextFeatures::isEnabled):
404 * dom/DOMAllInOne.cpp:
405 * dom/DOMImplementation.cpp:
406 (WebCore::DOMImplementation::createDocument):
407 (WebCore::DOMImplementation::createHTMLDocument):
409 (WebCore::Document::contextFeatures):
411 (WebCore::Document::Document):
412 (WebCore::Document::setContextFeatures):
414 (WebCore::Position::Position):
415 (WebCore::Position::findParent):
417 (WebCore::TreeScope::getSelection):
419 (printConstructorInterior):
420 (printFactoryCppFile):
421 (printWrapperFunctions):
422 (printWrapperFactoryCppFile):
423 * editing/markup.cpp:
424 (WebCore::createFragmentFromMarkupWithContext):
425 * html/HTMLStyleElement.cpp:
426 (WebCore::HTMLStyleElement::registerWithScopingNode):
427 (WebCore::HTMLStyleElement::unregisterWithScopingNode):
428 * html/shadow/HTMLContentElement.cpp:
429 (WebCore::contentTagName):
430 * inspector/DOMPatchSupport.cpp:
431 (WebCore::DOMPatchSupport::patchDocument):
432 * loader/FrameLoaderClient.h:
433 * platform/RefCountedSupplement.h: Copied from Source/WebCore/platform/Supplementable.h.
435 (RefCountedSupplement):
436 (WebCore::RefCountedSupplement::hostDestroyed):
438 (WebCore::RefCountedSupplement::Wrapper::Wrapper):
439 (WebCore::RefCountedSupplement::Wrapper::~Wrapper):
440 (WebCore::RefCountedSupplement::Wrapper::wrapped):
441 (WebCore::RefCountedSupplement::provideTo):
442 (WebCore::RefCountedSupplement::from):
443 * platform/Supplementable.h:
444 (WebCore::Supplement::isRefCountedWrapper):
445 * xml/XMLHttpRequest.cpp:
446 (WebCore::XMLHttpRequest::responseXML):
448 2012-06-12 Kent Tamura <tkent@chromium.org>
450 Remove unnecessary functions: setName() and formControlName()
451 https://bugs.webkit.org/show_bug.cgi?id=88392
453 Reviewed by Kentaro Hara.
455 'name' IDL attributes of form-related elements should be [Reflected],
456 and we don't need to have setName(). We used formControlName() for
457 name() implementation, and formControlName() is not needed because it
458 just converts a null attribute to an empty string. Our binding code does it.
460 We don't remove FormAssociatedElement::name() because many C++ code use it.
462 FormAssociatedElement::name() is virtual, and HTMLInputElement overrides
463 it so that it returns a cache of the name attribtue value because
464 CheckedRadioButtons class needs to know an old name attribute value when
465 the name attribtue is changed.
468 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-object-name
469 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-form-name
470 http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-fe-name
472 Test: fast/forms/name-attribute.html
474 * dom/Element.h: Remove formControlName().
475 * html/FormAssociatedElement.cpp:
476 (WebCore::FormAssociatedElement::name):
477 Copied from formControlName() implementation of HTMLFormControlElement.
478 * html/FormAssociatedElement.h:
479 (FormAssociatedElement): Make name() virtual, remove formControlName().
480 * html/FormController.cpp:
481 (WebCore::FormController::formElementsState):
482 Use name() instead of formControlName().
483 * html/HTMLFormControlElement.cpp:
484 Remove formControlName() and setName().
485 * html/HTMLFormControlElement.h: ditto.
486 * html/HTMLInputElement.cpp:
487 (WebCore::HTMLInputElement::name): Renamed from formControlName().
488 * html/HTMLInputElement.h:
489 (HTMLInputElement): Renamed formControlName() to name(), and make it public.
490 * html/HTMLKeygenElement.idl: Make 'name' [Reflected].
491 * html/HTMLObjectElement.cpp: Remove formControlName().
492 * html/HTMLObjectElement.h: ditto.
493 * html/HTMLSelectElement.cpp:
494 (WebCore::HTMLSelectElement::appendFormData):
495 Use name() instead of formControlName().
496 * html/HTMLSelectElement.idl: Make 'name' [Reflected].
497 * html/HTMLTextAreaElement.idl: Make 'name' [Reflected].
499 2012-06-11 Nico Weber <thakis@chromium.org>
501 Remove unused member variables found by clang's -Wunused-private-field
502 https://bugs.webkit.org/show_bug.cgi?id=88812
504 Reviewed by Anders Carlsson.
506 Change a few |class|s that were used only to pin down the size of
507 existing classes to |struct|, so that clang doesn't warn about these
510 No intended behavior change.
512 * Modules/geolocation/GeolocationController.cpp:
513 (WebCore::GeolocationController::GeolocationController):
514 * Modules/geolocation/GeolocationController.h:
515 (GeolocationController):
516 * Modules/webaudio/AudioContext.h:
518 * Modules/webaudio/AudioParamTimeline.h:
519 (AudioParamTimeline):
520 * accessibility/AccessibilityScrollbar.h:
521 (AccessibilityScrollbar):
522 * bindings/v8/ScriptScope.cpp:
523 (WebCore::ScriptScope::ScriptScope):
524 * bindings/v8/ScriptScope.h:
527 * css/StylePropertySet.cpp:
528 * dom/DeviceOrientationController.cpp:
529 (WebCore::DeviceOrientationController::DeviceOrientationController):
530 * dom/DeviceOrientationController.h:
531 (DeviceOrientationController):
532 * editing/ReplaceSelectionCommand.cpp:
533 (ReplacementFragment):
534 (WebCore::ReplacementFragment::ReplacementFragment):
535 * editing/TextIterator.cpp:
536 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
537 * editing/TextIterator.h:
538 (SimplifiedBackwardsTextIterator):
539 (BackwardsCharacterIterator):
540 * html/HTMLFormCollection.cpp:
541 (WebCore::HTMLFormCollection::HTMLFormCollection):
542 * html/HTMLFormCollection.h:
543 (HTMLFormCollection):
544 * html/shadow/MediaControlElements.cpp:
545 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
546 * html/shadow/MediaControlElements.h:
547 (MediaControlFullscreenButtonElement):
548 * html/shadow/MediaControlRootElementChromium.cpp:
549 (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
550 * html/shadow/MediaControlRootElementChromium.h:
551 (MediaControlRootElementChromium):
552 * html/track/LoadableTextTrack.cpp:
553 (WebCore::LoadableTextTrack::LoadableTextTrack):
554 * html/track/LoadableTextTrack.h:
556 * inspector/CodeGeneratorInspector.py:
558 * inspector/InspectorCSSAgent.cpp:
559 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
560 * inspector/InspectorCSSAgent.h:
562 * inspector/InspectorDOMDebuggerAgent.cpp:
563 (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
564 * inspector/InspectorDOMDebuggerAgent.h:
565 (InspectorDOMDebuggerAgent):
566 * inspector/InspectorMemoryAgent.cpp:
567 (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
568 * inspector/InspectorMemoryAgent.h:
569 (InspectorMemoryAgent):
570 * notifications/NotificationController.cpp:
571 (WebCore::NotificationController::NotificationController):
572 * notifications/NotificationController.h:
573 (NotificationController):
574 * page/animation/CompositeAnimation.h:
575 (WebCore::CompositeAnimation::CompositeAnimation):
576 (CompositeAnimation):
577 * platform/Length.cpp:
578 * platform/audio/ReverbConvolver.cpp:
579 (WebCore::ReverbConvolver::ReverbConvolver):
580 * platform/audio/ReverbConvolver.h:
582 * platform/audio/ReverbConvolverStage.cpp:
583 (WebCore::ReverbConvolverStage::ReverbConvolverStage):
584 * platform/audio/ReverbConvolverStage.h:
585 (ReverbConvolverStage):
586 * platform/graphics/TextRun.cpp:
587 (ExpectedTextRunSize):
588 * platform/graphics/chromium/cc/CCThreadProxy.h:
590 * platform/graphics/filters/FECustomFilter.cpp:
591 (WebCore::FECustomFilter::FECustomFilter):
592 * platform/graphics/filters/FECustomFilter.h:
594 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
596 * platform/leveldb/LevelDBTransaction.cpp:
597 (WebCore::LevelDBTransaction::TreeIterator::next):
598 * platform/text/TextCodecICU.cpp:
599 (WebCore::TextCodecICU::TextCodecICU):
600 * platform/text/TextCodecICU.h:
602 * rendering/InlineBox.cpp:
603 * rendering/InlineFlowBox.cpp:
604 * rendering/RenderText.cpp:
605 * rendering/style/KeyframeList.h:
606 (WebCore::KeyframeList::KeyframeList):
608 * rendering/svg/RenderSVGTextPath.cpp:
609 (WebCore::RenderSVGTextPath::RenderSVGTextPath):
610 * rendering/svg/RenderSVGTextPath.h:
611 * rendering/svg/SVGInlineTextBox.cpp:
612 * svg/SVGPathByteStreamSource.cpp:
613 * svg/SVGPathByteStreamSource.h:
614 * svg/SVGPathTraversalStateBuilder.cpp:
615 (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
616 * svg/SVGPathTraversalStateBuilder.h:
617 (SVGPathTraversalStateBuilder):
618 * xml/XSLStyleSheet.h:
620 2012-06-11 Kinuko Yasuda <kinuko@chromium.org>
622 XHR returns size==0 Blob
623 https://bugs.webkit.org/show_bug.cgi?id=88750
625 Reviewed by Alexey Proskuryakov.
627 Response Blob's .size field must have the correct response size.
629 Test: http/tests/xmlhttprequest/response-blob-size.html
631 * xml/XMLHttpRequest.cpp:
632 (WebCore::XMLHttpRequest::responseBlob):
634 2012-06-11 Silvia Pfeiffer <silviapf@chromium.org>
636 Introduce an Enclosure Element for Chromium video controls.
637 https://bugs.webkit.org/show_bug.cgi?id=87683
639 Reviewed by Eric Carlson.
643 The Chrome video controls are receiving a visual update. A new enclosure div is required
644 to provide for a offset space from the video's boundaries. The visual update itself is in
647 * css/mediaControlsChromium.css:
648 (video::-webkit-media-controls-enclosure):
649 Introduce CSS for enclosure div so it doesn't show yet.
650 * html/shadow/MediaControlRootElementChromium.cpp:
651 (WebCore::MediaControlChromiumEnclosureElement::MediaControlChromiumEnclosureElement):
652 Definition of the new enclosure element.
653 (WebCore::MediaControlChromiumEnclosureElement::create):
654 Definition of a create operator for the new enclosure element.
655 (WebCore::MediaControlChromiumEnclosureElement::shadowPseudoId):
656 Definition of the shadowPseudoId of -webkit-media-controls-enclosure for the enclosure div.
657 (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
658 Initialize member element for enclosure div.
659 (WebCore::MediaControlRootElementChromium::create):
660 Instantiate enclosure div and add into DOM between controls and panel elements.
661 (WebCore::MediaControlRootElementChromium::setMediaController):
662 Set media controller for enclosure div.
663 (WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
664 Insert text track display container to enclosure rather than panel.
665 * html/shadow/MediaControlRootElementChromium.h:
667 (MediaControlChromiumEnclosureElement):
668 (WebCore::MediaControlChromiumEnclosureElement::setMediaController):
669 (WebCore::MediaControlChromiumEnclosureElement::mediaController):
670 (WebCore::MediaControlChromiumEnclosureElement::isMediaControlElement):
671 Add declaration of the new enclosure element and its member functions.
672 (MediaControlRootElementChromium):
673 Add member variable to controls root element to hold the enclosure element.
675 2012-06-11 Elliott Sprehn <esprehn@gmail.com>
677 WebKit doesn't allow replacing the document element with a DocumentFragment containing one element
678 https://bugs.webkit.org/show_bug.cgi?id=88681
680 Reviewed by Ojan Vafai.
682 Fix bug where replacing an immediate child of a Document with a DocumentFragment
683 would throw a HIERARCHY_REQUEST_ERR instead of replacing the node as required by DOM4.
684 http://www.w3.org/TR/domcore/#mutation-algorithms
687 (WebCore::Document::canReplaceChild):
688 When the newChild was a DocumentFragment we incorrectly
689 iterated over the document's children twice instead of the
690 fragment when counting the total number of elements and
691 doctypes to enfoce that there's only one of each.
693 2012-06-11 Mary Wu <mary.wu@torchmobile.com.cn>
695 [BlackBerry] Add handling of notifyDataReceived in NetworkJob even there's no data inside
696 https://bugs.webkit.org/show_bug.cgi?id=88773
698 Reviewed by Rob Buis.
700 Handling notifyDataReceived event even if there is no data inside.
701 This event was critical because it gives downloadFilterStream a chance
702 to follow up NetworkStream close event, and it also make pluginView in
703 FrameLoaderBlackBerry return normal logic.
707 Reviewed internally by Leo Yang.
709 * platform/network/blackberry/NetworkJob.cpp:
710 (WebCore::NetworkJob::handleNotifyDataReceived):
712 2012-06-11 Mary Wu <mary.wu@torchmobile.com.cn>
714 [BlackBerry] Wrong mimetype for empty file link
715 https://bugs.webkit.org/show_bug.cgi?id=88642
717 Reviewed by Rob Buis.
721 For empty file link, we shouldn't give "application/octet-stream"
722 which will lead to download.
724 Reviewed internally by Charles Wei.
726 * platform/network/blackberry/NetworkJob.cpp:
727 (WebCore::NetworkJob::sendResponseIfNeeded):
729 2012-06-11 Jin Yang <jin.a.yang@intel.com>
731 GeneratorGeneratedImage should cache images for the non-tiled case
732 https://bugs.webkit.org/show_bug.cgi?id=87094
734 Reviewed by Simon Fraser.
736 We cache the generated image if generator is not changed. By compared
737 with generating image on the fly, it will lose a little pixel precision
738 and several layout tests should be rebaselined. With this patch, the IE test
739 drive benchmark "Bayou" can gain about 50%.
741 No new tests. Performance optimization.
743 * platform/graphics/GeneratorGeneratedImage.cpp:
744 (WebCore::GeneratorGeneratedImage::draw):
746 2012-06-11 Vincent Scheib <scheib@chromium.org>
748 Add new Pointer Lock spec attribute webkitPointerLockElement.
749 https://bugs.webkit.org/show_bug.cgi?id=88799
751 Reviewed by Dimitri Glazkov.
753 Part of a series of refactoring changes to update pointer lock API to
754 the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
756 New attribute webkitPointerLockElement added. Follow up patches
757 will remove the previous isLocked attribute. Tests updated to use
760 * bindings/generic/RuntimeEnabledFeatures.h:
761 (WebCore::RuntimeEnabledFeatures::webkitPointerLockElementEnabled):
764 (WebCore::Document::webkitPointerLockElement):
768 * page/PointerLockController.h:
769 (WebCore::PointerLockController::element):
771 2012-06-11 Vincent Scheib <scheib@chromium.org>
773 Consolidate Pointer Lock runtime enabled flags to just one.
774 https://bugs.webkit.org/show_bug.cgi?id=88810
776 Reviewed by Dimitri Glazkov.
780 * bindings/generic/RuntimeEnabledFeatures.h:
781 (WebCore::RuntimeEnabledFeatures::pointerLockEnabled):
782 (WebCore::RuntimeEnabledFeatures::setPointerLockEnabled):
783 * dom/MouseEvent.idl:
784 * page/Navigator.idl:
786 2012-06-11 Alexis Menard <alexis.menard@openbossa.org>
788 [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
789 https://bugs.webkit.org/show_bug.cgi?id=88804
791 Reviewed by Tony Chang.
793 Protect box-decoration-break behind a feature flag enabled by default.
795 No new tests : no behavior change here.
797 * Configurations/FeatureDefines.xcconfig:
799 * css/CSSComputedStyleDeclaration.cpp:
801 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
803 (WebCore::isValidKeywordPropertyAndValue):
804 (WebCore::isKeywordPropertyID):
805 (WebCore::CSSParser::parseValue):
806 * css/CSSPrimitiveValueMappings.h:
808 * css/CSSProperty.cpp:
809 (WebCore::CSSProperty::isInheritedProperty):
810 * css/CSSValueKeywords.in:
811 * css/StyleBuilder.cpp:
812 (WebCore::StyleBuilder::StyleBuilder):
813 * rendering/style/RenderStyle.h:
814 * rendering/style/StyleBoxData.cpp:
815 (WebCore::StyleBoxData::StyleBoxData):
816 (WebCore::StyleBoxData::operator==):
817 * rendering/style/StyleBoxData.h:
820 2012-06-11 James Robinson <jamesr@chromium.org>
822 [chromium] Port DrawingBufferChromium from TextureLayerChromium over to WebExternalTextureLayer
823 https://bugs.webkit.org/show_bug.cgi?id=86273
825 Reviewed by Adrienne Walker.
827 This converts more WebCore code over to using public APIs instead of internal compositor layer types.
829 Refactor only, no change in behavior thus no new tests.
831 * platform/graphics/chromium/DrawingBufferChromium.cpp:
832 (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
833 (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
834 (WebCore::DrawingBufferPrivate::layer):
835 (DrawingBufferPrivate):
836 * platform/graphics/chromium/TextureLayerChromium.cpp:
837 (WebCore::TextureLayerChromium::~TextureLayerChromium):
838 (WebCore::TextureLayerChromium::setRateLimitContext):
839 (WebCore::TextureLayerChromium::setNeedsDisplayRect):
840 (WebCore::TextureLayerChromium::update):
841 * platform/graphics/chromium/TextureLayerChromium.h:
843 (TextureLayerChromiumClient):
845 2012-06-11 Max Feil <mfeil@rim.com>
847 [BlackBerry] Seek calls are being unnecessarily delayed
848 https://bugs.webkit.org/show_bug.cgi?id=88732
850 Reviewed by Antonio Gomes.
852 There is a problem with the way the m_userDrivenSeekTimer is
853 implemented. When MediaPlayerPrivate::seek() is called, there
854 is always a 100ms delay even if the timer is not running. The
855 timer is supposed to space out (i.e. throttle) repeated seeks
856 that come in too soon after a previous seek, but currently it
857 is slowing down even single seeks and seeks that come in with
858 adequate delay after a previous seek. I fixed this in my patch
859 by improving the way the timer fired function is called.
861 A note on the new m_lastSeekTimePending flag: This flag is
862 needed so that userDrivenSeekTimerFired() knows whether or not
863 to perform the seek. The only case where this flag will not be
864 set is if no MediaPlayerPrivate::seek() call came in while the
865 timer was active, in which case it's important to do nothing.
866 I could encode this flag's information into the m_lastSeekTime
867 float, for example by initializing it and resetting it to NAN
868 and using isnan(). But I feel that using a separate bool is a
869 more portable approach.
871 No new tests. I would like to propose not including a layout test
872 with this fix. Doing timing tests for 100ms delays is tricky
873 from Javascript, and I don't think the benefit of such a test
874 outweighs the extra time it would take to develop one. The test
875 would also be a problem to maintain as it may give different
876 results over different runs and across different target hardware.
878 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
879 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
880 (WebCore::MediaPlayerPrivate::seek):
881 (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
882 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
883 (MediaPlayerPrivate):
885 2012-06-11 Max Feil <mfeil@rim.com>
887 [BlackBerry] Unexpected repeats of short media
888 https://bugs.webkit.org/show_bug.cgi?id=88733
890 Reviewed by Antonio Gomes.
892 The m_userDrivenSeekTimer is causing unwanted repeats of short
893 media such as sound effects because it is causing the current
894 time to not reflect that the media has finished playing.
895 This problem only affects media whose duration is close to
896 or less than the SeekSubmissionDelay, which is currently
897 set to 100ms. My fix is to ignore the userDrivenSeekTimer in
898 MediaPlayerPrivate::currentTime() if the duration of the media
899 is within twice the SeekSubmissionDelay. Seek drag smoothness
900 is a non-issue for such short media.
902 Test: platform/blackberry/media/short-media-repeats-correctly.html
904 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
905 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
907 (WebCore::MediaPlayerPrivate::currentTime):
908 (WebCore::MediaPlayerPrivate::seek):
909 (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
910 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
911 (MediaPlayerPrivate):
913 2012-06-11 Julien Chaffraix <jchaffraix@webkit.org>
915 Account for margin after when laying out <legend> element
916 https://bugs.webkit.org/show_bug.cgi?id=35981
918 Reviewed by Abhishek Arya.
920 Tests: fast/forms/legend-after-margin-horizontal-writing-mode.html
921 fast/forms/legend-after-margin-vertical-writing-mode.html
922 fast/forms/legend-after-margin-with-before-border-horizontal-mode.html
923 fast/forms/legend-small-after-margin-before-border-horizontal-mode.html
925 The existing code would ignore margin after when layouting out the <legend>. This
926 change only adds the code to handle the margin after, the margin before is still
927 ignored as it's not obvious how it should be working.
929 * rendering/RenderFieldset.cpp:
930 (WebCore::RenderFieldset::layoutSpecialExcludedChild):
931 Split the code in 2 code paths to reflect how we position and size. Those are covered by the
934 2012-06-11 James Robinson <jamesr@chromium.org>
936 [chromium] Use WebGraphicsContext3D in rate limiting logic inside compositor
937 https://bugs.webkit.org/show_bug.cgi?id=86259
939 Reviewed by Adrienne Walker.
941 This refactors the compositor's rate limiting implementation to use the Platform API's WebGraphicsContext3D
942 directly instead of WebCore::GraphicsContext3D to cut down on the number of spurious WebCore dependencies in the
943 compositor. The one change in contract is that the caller to CCLayerTreeHost::startRateLimit() now has to call
944 CCLayerTreeHost::stopRateLimit() before allowing the referenced context to go away since CCLayerTreeHost no
945 longer retains a reference, but this was always happening already.
947 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
948 (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
949 (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
950 * platform/graphics/chromium/RateLimiter.cpp:
951 (WebCore::RateLimiter::create):
952 (WebCore::RateLimiter::RateLimiter):
953 (WebCore::RateLimiter::start):
954 (WebCore::RateLimiter::rateLimitContext):
955 * platform/graphics/chromium/RateLimiter.h:
958 * platform/graphics/chromium/TextureLayerChromium.cpp:
959 (WebCore::TextureLayerChromium::~TextureLayerChromium):
960 (WebCore::TextureLayerChromium::setRateLimitContext):
961 (WebCore::TextureLayerChromium::setNeedsDisplayRect):
962 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
963 (WebCore::CCLayerTreeHost::startRateLimiter):
964 (WebCore::CCLayerTreeHost::stopRateLimiter):
965 (WebCore::CCLayerTreeHost::rateLimit):
967 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
970 2012-06-11 Dana Jansens <danakj@chromium.org>
972 [chromium] Separate CCVideoDrawQuad and from the layer tree and video provider by removing ManagedTexture and WebVideoFrame pointers from the quad
973 https://bugs.webkit.org/show_bug.cgi?id=88363
975 Reviewed by Adrienne Walker.
977 CCVideoDrawQuad should not contain any pointers to data in the layer
978 tree so we are able to serialize it across process boundaries. This
979 patch removes the ManagedTexture pointers from the quad class,
980 replacing them with texture ids. It removes the WebVideoFrame* from
981 the quad, replacing it with the frame provider's texture id included
982 in the WebVideoFrame structure. And it uses a WebTransformationMatrix
983 instead of a pointer to an array of floats.
985 Texture allocation is done in CCVideoLayerImpl via the
986 contentsTextureAllocator, so that the memory usage can be tracked.
988 We move the copyPlaneToTextures() method back from LayerRendererChromium
989 to CCVideoLayerImpl, as this method uses the texture data pointer in the
990 WebVideoFrame, and we do not want to give this pointer to the quad
991 class. Instead, this method makes use of the LayerTextureSubImage class
992 to copy the pixel data into the texture.
994 LayerTextureSubImage is updated to allow non-4byte texture formats.
996 * platform/graphics/chromium/LayerRendererChromium.cpp:
997 (WebCore::LayerRendererChromium::drawYUV):
998 (WebCore::LayerRendererChromium::drawRGBA):
999 (WebCore::LayerRendererChromium::drawNativeTexture2D):
1000 (WebCore::LayerRendererChromium::drawStreamTexture):
1001 (WebCore::LayerRendererChromium::drawVideoQuad):
1002 * platform/graphics/chromium/LayerTextureSubImage.cpp:
1003 (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
1004 (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
1005 * platform/graphics/chromium/TextureCopier.cpp:
1006 * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
1007 (WebCore::CCVideoDrawQuad::create):
1008 (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
1009 * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
1011 (WebCore::CCVideoDrawQuad::planes):
1012 (WebCore::CCVideoDrawQuad::frameProviderTextureId):
1013 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1014 (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
1015 (WebCore::CCVideoLayerImpl::willDraw):
1016 (WebCore::CCVideoLayerImpl::willDrawInternal):
1017 (WebCore::CCVideoLayerImpl::appendQuads):
1018 (WebCore::CCVideoLayerImpl::didDraw):
1019 (WebCore::CCVideoLayerImpl::FramePlane::allocateData):
1021 (WebCore::CCVideoLayerImpl::FramePlane::freeData):
1022 (WebCore::CCVideoLayerImpl::allocatePlaneData):
1023 (WebCore::CCVideoLayerImpl::copyPlaneData):
1024 (WebCore::CCVideoLayerImpl::freePlaneData):
1025 (WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
1026 (WebCore::CCVideoLayerImpl::didLoseContext):
1027 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1029 (WebCore::CCVideoLayerImpl::FramePlane::FramePlane):
1031 2012-06-11 Joshua Bell <jsbell@chromium.org>
1033 IndexedDB: Object stores are not successfully deleted
1034 https://bugs.webkit.org/show_bug.cgi?id=88788
1036 Reviewed by Tony Chang.
1038 Discovered while working on http://webkit.org/b/83074 - object stores are not
1039 being deleted from the backing store. Deletion would succeed in the in-memory
1040 data structures, but after closing/re-opening the backing store the object store
1041 (but not its indexes/data) would reappear. Due to 83074, this isn't detectable
1042 by DRT without a full restart.
1044 Test: [chromium] webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'
1046 * Modules/indexeddb/IDBLevelDBCoding.cpp:
1047 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
1049 2012-06-05 Eric Uhrhane <ericu@chromium.org>
1051 Crash in fast/files/read tests during Garbage Collection
1052 https://bugs.webkit.org/show_bug.cgi?id=87165
1054 Reviewed by Michael Saboff
1056 Fix previous fix for hasPendingActivity, and fix a bug in a complex
1057 abort case as well--abort during the final progress event of a write
1058 would hang the writer.
1060 * Modules/filesystem/FileWriter.cpp:
1061 (WebCore::FileWriter::stop):
1062 (WebCore::FileWriter::write):
1063 (WebCore::FileWriter::truncate):
1064 (WebCore::FileWriter::didWrite):
1065 (WebCore::FileWriter::didTruncate):
1066 (WebCore::FileWriter::didFail):
1067 (WebCore::FileWriter::completeAbort):
1068 (WebCore::FileWriter::doOperation):
1069 (WebCore::FileWriter::signalCompletion):
1071 2012-06-11 Shawn Singh <shawnsingh@chromium.org>
1073 [chromium] Implement position:fixed in compositor thread
1074 https://bugs.webkit.org/show_bug.cgi?id=70103
1076 Reviewed by Adrienne Walker.
1078 Significant contributions to this patch by Alpha Lam and Sami Kyostila.
1080 This patch is the compositor-side change that adds support for
1081 fixed-position layers to be composited layers. Before this patch,
1082 fixed-position elements were positioned only by WebCore (i.e. main
1083 thread when painting), and the compositor did not have enough
1084 knowledge on its own to position it properly. This patch adds the
1085 necessary math and plumbs the necessary layer information so that
1086 the impl thread can properly position fixed-position elements on
1087 its own. This support is necessary for correctness of composited
1088 fixed-position elements, which can greatly help to avoid
1089 repainting container layers when scrolling with a fixed-position
1092 There also needs to be WebCore-side support for this, which is
1093 addressed in https://bugs.webkit.org/show_bug.cgi?id=78864
1095 Unit tests added to CCLayerTreeHostCommonTest:
1096 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDirectContainer
1097 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithTransformedDirectContainer
1098 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainer
1099 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithDistantContainerAndTransforms
1100 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleScrollDeltas
1101 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithIntermediateSurfaceAndTransforms
1102 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithMultipleIntermediateSurfaces
1103 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface
1104 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatIsAlsoFixedPositionContainer
1105 CCLayerTreeHostCommonTest.verifyScrollCompensationForFixedPositionLayerThatHasNoContainer
1107 * platform/graphics/chromium/LayerChromium.cpp:
1108 (WebCore::LayerChromium::LayerChromium):
1109 (WebCore::LayerChromium::pushPropertiesTo):
1110 * platform/graphics/chromium/LayerChromium.h:
1111 (WebCore::LayerChromium::setIsContainerForFixedPositionLayers):
1112 (WebCore::LayerChromium::isContainerForFixedPositionLayers):
1114 (WebCore::LayerChromium::setFixedToContainerLayerVisibleRect):
1115 (WebCore::LayerChromium::fixedToContainerLayerVisibleRect):
1116 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1117 (WebCore::CCLayerImpl::CCLayerImpl):
1118 * platform/graphics/chromium/cc/CCLayerImpl.h:
1119 (WebCore::CCLayerImpl::setIsContainerForFixedPositionLayers):
1120 (WebCore::CCLayerImpl::isContainerForFixedPositionLayers):
1122 (WebCore::CCLayerImpl::setFixedToContainerLayerVisibleRect):
1123 (WebCore::CCLayerImpl::fixedToContainerLayerVisibleRect):
1124 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1125 (WebCore::computeScrollCompensationForThisLayer):
1127 (WebCore::computeScrollCompensationMatrixForChildren):
1128 (WebCore::calculateDrawTransformsInternal):
1129 (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
1131 2012-06-11 Sam Weinig <sam@webkit.org>
1133 Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
1134 https://bugs.webkit.org/show_bug.cgi?id=88723
1136 Reviewed by Dan Bernstein.
1140 * editing/Editor.cpp:
1141 (WebCore::Editor::rangeOfString):
1142 (WebCore::Editor::countMatchesForText):
1145 * loader/FrameLoader.cpp:
1146 (WebCore::FrameLoader::findFrameForNavigation):
1147 * page/DOMWindow.cpp:
1148 (WebCore::DOMWindow::parent):
1149 (WebCore::DOMWindow::top):
1150 * page/EventHandler.cpp:
1151 (WebCore::EventHandler::hitTestResultAtPoint):
1153 (WebCore::Frame::Frame):
1156 * page/FrameTree.cpp:
1157 (WebCore::FrameTree::parent):
1158 (WebCore::FrameTree::top):
1161 * page/Location.cpp:
1162 (WebCore::Location::ancestorOrigins):
1163 * xml/XMLTreeViewer.cpp:
1164 (WebCore::XMLTreeViewer::hasNoStyleInformation):
1165 Update for the removal of disconnected frames and text search exclusions concepts.
1167 2012-06-11 Xianzhu Wang <wangxianzhu@chromium.org>
1169 SVGImageCache leaks image data
1170 https://bugs.webkit.org/show_bug.cgi?id=87792
1172 There are two functions to remove a client from a CachedImage:
1173 - CachedResource::removeClient()
1174 - CachedImage::removeClientForRenderer().
1175 It's easy to make error to call the former which will leak the cached
1176 image buffers in SVGImageCache.
1178 This change combined the two by adding the virtual
1179 CachedResource::didRemoveClient(). CachedImage will do SVGImageCache
1180 cleanup in the function.
1182 Reviewed by Nikolas Zimmermann.
1184 Test: svg/as-image/svg-image-leak-cached-data.html
1186 * loader/cache/CachedFont.h:
1187 (WebCore::CachedFontClient::resourceClientType): Added 'const'.
1188 * loader/cache/CachedImage.cpp:
1190 (WebCore::CachedImage::didRemoveClient): Removes the client from SVGImageCache.
1191 (WebCore::CachedImage::lookupOrCreateImageForRenderer):
1192 * loader/cache/CachedImage.h:
1194 (WebCore::CachedImageClient::resourceClientType): Added 'const'.
1195 * loader/cache/CachedRawResource.h:
1196 (WebCore::CachedRawResourceClient::resourceClientType): Added 'const'.
1197 * loader/cache/CachedResource.cpp:
1198 (WebCore::CachedResource::removeClient): Added invocation of didRemoveClient().
1199 * loader/cache/CachedResource.h:
1200 (WebCore::CachedResource::didRemoveClient): Added for subclasses to do additional works.
1201 * loader/cache/CachedResourceClient.h:
1202 (WebCore::CachedResourceClient::resourceClientType): Added 'const'.
1203 * loader/cache/CachedSVGDocument.h:
1204 (WebCore::CachedSVGDocumentClient::resourceClientType): Added 'const'.
1205 * loader/cache/CachedStyleSheetClient.h:
1206 (WebCore::CachedStyleSheetClient::resourceClientType): Added 'const'.
1207 * rendering/style/StyleCachedImage.cpp:
1208 (WebCore::StyleCachedImage::removeClient):
1209 * rendering/style/StyleCachedImageSet.cpp:
1210 (WebCore::StyleCachedImageSet::removeClient):
1211 * svg/graphics/SVGImageCache.cpp:
1212 (WebCore::SVGImageCache::~SVGImageCache): Added checking for leaks.
1213 (WebCore::SVGImageCache::removeClientFromCache):
1214 (WebCore::SVGImageCache::setRequestedSizeAndScales):
1215 (WebCore::SVGImageCache::requestedSizeAndScales):
1216 (WebCore::SVGImageCache::lookupOrCreateBitmapImageForClient):
1217 * svg/graphics/SVGImageCache.h:
1221 2012-06-11 Mark Pilgrim <pilgrim@chromium.org>
1223 [Chromium] Call shared timer functions directly
1224 https://bugs.webkit.org/show_bug.cgi?id=88781
1226 Reviewed by Adam Barth.
1228 Part of a refactoring series. See tracking bug 82948.
1230 * platform/chromium/PlatformSupport.h:
1232 * platform/chromium/SharedTimerChromium.cpp:
1233 (WebCore::setSharedTimerFiredFunction):
1234 (WebCore::setSharedTimerFireInterval):
1236 2012-06-11 Pravin D <pravind.2k4@gmail.com>
1238 Relative pos. input fields in columns vanish when you start typing in them
1239 https://bugs.webkit.org/show_bug.cgi?id=76834
1241 Reviewed by Julien Chaffraix.
1243 Test: fast/multicol/multicol-with-child-renderLayer-for-input.html
1245 * page/FrameView.cpp:
1246 (WebCore::updateLayerPositionFlags):
1247 Helper function to prepare the UpdateLayerPositionsFlags based on the input parameters.
1248 If didFullRepaint flag is set, then CheckForRepaints flag is removed from the default flags.
1249 Also during a relayout of a subtree, if the RenderLayer of the subtree root is paginated then updatePagination flag is
1250 included in the flags.
1253 (WebCore::FrameView::layout):
1254 Now uses the helper function updateLayerPositionFlags() to get the final set of UpdateLayerPositionsFlags.
1256 * rendering/RenderLayer.h:
1257 (WebCore::RenderLayer::isPaginated):
1259 isPaginated function is made public so that FrameView class can use it prepare UpdateLayerPositionsFlags.
1261 2012-06-11 Mark Pilgrim <pilgrim@chromium.org>
1263 [Chromium] Remove some dead code in PasteboardChromium
1264 https://bugs.webkit.org/show_bug.cgi?id=88782
1266 Reviewed by Adam Barth.
1268 Part of a refactoring series. See tracking bug 82948.
1269 Leftover detritus from bug 88038.
1271 * platform/chromium/PasteboardChromium.cpp:
1272 (WebCore::Pasteboard::documentFragment):
1274 2012-06-11 Peter Beverloo <peter@chromium.org>
1276 [Chromium] Theme updates for Android in menu list rendering and selection backgrounds
1277 https://bugs.webkit.org/show_bug.cgi?id=88775
1279 Reviewed by Adam Barth.
1281 For Chrome on Android, use the width of the scrollbar down arrow instead
1282 of the scrollbar's width for determining the arrow padding to apply for
1283 menu list rendering, as WebKit isn't drawing a scrollbar (thus width=0).
1285 Furthermore, change the default active selection background color to be
1286 equal to the tap highlighting color.
1288 These changes should be covered by existing layout tests.
1290 * rendering/RenderThemeChromiumAndroid.cpp:
1291 (WebCore::RenderThemeChromiumAndroid::menuListArrowPadding):
1292 (WebCore): Retrieve the scrollbar down arrow's size via PlatformSupport.
1293 * rendering/RenderThemeChromiumAndroid.h: Override the menuListArrowPadding
1294 and platformActiveSelectionBackgroundColor methods, and add a static
1295 static RGBA32 color for the default active selection bg color.
1296 * rendering/RenderThemeChromiumSkia.cpp:
1297 (WebCore::RenderThemeChromiumSkia::menuListArrowPadding): Default to
1298 the scrollbar thickness, not changing behavior for non-Android.
1299 (WebCore::RenderThemeChromiumSkia::menuListInternalPadding): Instead
1300 of polling the scrollbar thickness, call menuListArrowPadding().
1301 * rendering/RenderThemeChromiumSkia.h:
1302 (RenderThemeChromiumSkia): Add the menuListArrowPadding() as a protected method.
1304 2012-06-11 David Barr <davidbarr@chromium.org>
1306 Add css3-images image-resolution (dppx only)
1307 https://bugs.webkit.org/show_bug.cgi?id=85332
1309 Reviewed by Tony Chang.
1311 The css3-images module is at candidate recommendation.
1312 http://www.w3.org/TR/2012/CR-css3-images-20120417/#image-resolution
1314 Test: fast/css/image-resolution.html
1316 * css/CSSComputedStyleDeclaration.cpp:
1318 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1320 * css/CSSParser.cpp:
1321 (WebCore::CSSParser::validUnit):
1322 (WebCore::CSSParser::createPrimitiveNumericValue):
1323 (WebCore::unitFromString):
1324 (WebCore::CSSParser::parseValidPrimitive):
1325 (WebCore::CSSParser::parseValue):
1327 (WebCore::CSSParser::parseImageResolution):
1328 (WebCore::CSSParser::detectNumberToken):
1330 * css/CSSPrimitiveValue.cpp:
1331 (WebCore::isValidCSSUnitTypeForDoubleConversion):
1332 (WebCore::unitCategory):
1333 (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
1334 (WebCore::CSSPrimitiveValue::customCssText):
1335 (WebCore::CSSPrimitiveValue::cloneForCSSOM):
1336 * css/CSSPrimitiveValue.h:
1337 * css/CSSProperty.cpp:
1338 (WebCore::CSSProperty::isInheritedProperty):
1339 * css/CSSPropertyNames.in:
1340 * css/StyleBuilder.cpp:
1342 (ApplyPropertyImageResolution):
1343 (WebCore::ApplyPropertyImageResolution::applyInheritValue):
1344 (WebCore::ApplyPropertyImageResolution::applyInitialValue):
1345 (WebCore::ApplyPropertyImageResolution::applyValue):
1346 (WebCore::ApplyPropertyImageResolution::createHandler):
1347 (WebCore::StyleBuilder::StyleBuilder):
1348 * css/StyleResolver.cpp:
1349 (WebCore::StyleResolver::collectMatchingRulesForList):
1350 * rendering/RenderImage.cpp:
1351 (WebCore::RenderImage::styleDidChange):
1352 (WebCore::RenderImage::imageDimensionsChanged):
1353 * rendering/style/RenderStyle.cpp:
1354 (WebCore::RenderStyle::diff):
1355 * rendering/style/RenderStyle.h:
1356 * rendering/style/StyleRareInheritedData.cpp:
1357 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1358 (WebCore::StyleRareInheritedData::operator==):
1359 * rendering/style/StyleRareInheritedData.h:
1360 (StyleRareInheritedData):
1362 2012-06-05 Dana Jansens <danakj@chromium.org>
1364 [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed
1365 https://bugs.webkit.org/show_bug.cgi?id=88371
1367 Reviewed by James Robinson.
1369 Unit test: CCLayerTreeHostImplTest.layersFreeTextures
1371 * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1372 (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
1373 (WebCore::CCIOSurfaceLayerImpl::willDraw):
1375 2012-06-11 Carlos Garcia Campos <cgarcia@igalia.com>
1377 Unreviewed. Fix make distcheck issues.
1379 * GNUmakefile.am: Add idl files in editing dir to EXTRA_DIST.
1380 * GNUmakefile.list.am: Add missing header file.
1382 2012-06-11 Dan Bernstein <mitz@apple.com>
1384 Reverted r119940 because it caused multiple media tests to fail on Lion.
1386 * html/HTMLMediaElement.cpp:
1387 (WebCore::HTMLMediaElement::prepareForLoad):
1389 (WebCore::HTMLMediaElement::userCancelledLoad):
1390 * html/HTMLMediaElement.h:
1392 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1393 (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
1395 2012-06-11 Zoltan Horvath <zoltan@webkit.org>
1397 [Qt] Add config tests for WEBP imagedecoder library, modify HAVE(decoderlibrary) to USE(...)$
1398 https://bugs.webkit.org/show_bug.cgi?id=87841
1400 Reviewed by Simon Hausmann.
1402 No new tests were needed.
1406 * platform/image-decoders/ImageDecoder.cpp:
1407 (WebCore::ImageDecoder::create):
1409 2012-06-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
1411 Add QML api for setting device width and height
1412 https://bugs.webkit.org/show_bug.cgi?id=88777
1414 Reviewed by Simon Hausmann.
1416 Change the default values for deviceWidth/Height to be 0 (unset). The
1417 original values were introduced by Qt and 0 makes it possible to
1418 detect if a value has never been set and therefore fall back.
1420 Only Qt depended on the former values.
1422 * page/Settings.cpp:
1423 (WebCore::Settings::Settings):
1425 2012-06-11 Csaba Osztrogonác <ossy@webkit.org>
1427 [Qt][Win] Fix UString related build problem in Source/WebCore/bridge/qt/qt_instance.cpp
1428 https://bugs.webkit.org/show_bug.cgi?id=88310
1430 Reviewed by Simon Hausmann.
1432 * bridge/qt/qt_instance.cpp:
1433 (JSC::Bindings::QtInstance::getPropertyNames):
1435 2012-06-11 Michael Brüning <michael.bruning@nokia.com>
1437 [Qt][WK2] Compute and set cache capacities using the current CacheModel
1438 https://bugs.webkit.org/show_bug.cgi?id=73918
1440 Unreviewed build fix.
1442 No new tests added as this is a build fix.
1444 * platform/qt/FileSystemQt.cpp:
1446 2012-06-11 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1448 Rect-based hittesting doesn't work in tables.
1449 https://bugs.webkit.org/show_bug.cgi?id=86605
1451 Reviewed by Julien Chaffraix.
1453 The existing code only performed a single binary lookup for the central
1454 hit-test point. This meant area-based hit-testing did not work across
1455 table-cell borders. All cells spanned by a hit-test area must be hit
1458 This patch introduces three auxilary functions to help calculate rows
1459 and columns spanned by an rect. These are intended to also be used by
1460 repaint logic in a later patch.
1462 For point-based hit-testing we maintain unchanged behavior and still
1463 only hit test a single column in a single row.
1465 Test: fast/dom/nodesFromRect-table.html
1467 * rendering/RenderTableSection.cpp:
1468 (WebCore::RenderTableSection::logicalRectForWritingModeAndDirection):
1469 (WebCore::RenderTableSection::spannedRows):
1470 (WebCore::RenderTableSection::spannedColumns):
1471 (WebCore::RenderTableSection::nodeAtPoint):
1472 * rendering/RenderTableSection.h:
1473 (RenderTableSection):
1475 2012-06-11 Min Qin <qinmin@google.com>
1477 Adding a flag to show fullscreen media controls in chromium
1478 https://bugs.webkit.org/show_bug.cgi?id=88266
1480 Reviewed by Adam Barth.
1482 The default chromium shadow DOM for media element does not contain fullscreen button.
1483 This change adds a flag to display the fullscreen button.
1484 It will be used by the android port.
1486 No new tests needed. We will use the same layout tests as desktop chromium.
1487 However, new test result expections will be added later.
1489 * html/shadow/MediaControlRootElementChromium.cpp:
1490 (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
1491 (WebCore::MediaControlRootElementChromium::create):
1492 (WebCore::MediaControlRootElementChromium::setMediaController):
1493 (WebCore::MediaControlRootElementChromium::reset):
1494 (WebCore::MediaControlRootElementChromium::reportedError):
1495 * html/shadow/MediaControlRootElementChromium.h:
1496 (MediaControlRootElementChromium):
1498 2012-06-11 Michael Brüning <michael.bruning@nokia.com>
1500 [Qt][WK2] Compute and set cache capacities using the current CacheModel
1501 https://bugs.webkit.org/show_bug.cgi?id=73918
1503 Reviewed by Kenneth Rohde Christiansen.
1505 No new tests needed / applicable (using operating system functionality).
1507 Added method to read free file system space for a path to support cache model
1508 implementation in Qt WK 2.
1510 * platform/FileSystem.h:
1512 * platform/qt/FileSystemQt.cpp:
1513 (WebCore::getVolumeFreeSizeForPath): Added for Qt ports.
1516 2012-06-11 Peter Wang <peter.wang@torchmobile.com.cn>
1518 [JSC] Web Inspector: implement breaking from native callback
1519 https://bugs.webkit.org/show_bug.cgi?id=43332
1521 Reviewed by Pavel Feldman.
1523 These test cases were enabled:
1524 LayoutTests/inspector/debugger/dom-breakpoints.html
1525 LayoutTests/inspector/debugger/event-listener-breakpoints.html
1526 LayoutTests/inspector/debugger/step-through-event-listeners.html
1527 LayoutTests/inspector/debugger/xhr-breakpoints.html
1529 * bindings/js/ScriptDebugServer.cpp:
1530 (WebCore::ScriptDebugServer::breakProgram):
1531 * bindings/js/ScriptDebugServer.h:
1532 (WebCore::supportsNativeBreakpoints):
1534 2012-06-11 MORITA Hajime <morrita@google.com>
1536 Spellchecker crash in async scenario.
1537 https://bugs.webkit.org/show_bug.cgi?id=88617
1539 Reviewed by Tony Chang.
1541 SpellCheckRequest::invokeRequest() can be reached after the frame is detached.
1542 SpellCheckRequest should ignore such a request since TextCheckerClient is not available
1543 for detached Frames.
1545 No new tests. It's hard to reproduce this.
1547 * editing/SpellChecker.cpp:
1548 (WebCore::SpellChecker::invokeRequest):
1550 2012-06-11 Ryuan Choi <ryuan.choi@samsung.com>
1552 [EFL] Extract CursorMap from WidgetEfl.cpp.
1553 https://bugs.webkit.org/show_bug.cgi?id=88633
1555 Reviewed by Ryosuke Niwa.
1557 In order to share CursorMap in WebKit/efl and UIProcess of WebKit2/Efl,
1558 extract it and expose getEcoreCursor.
1560 No new tests, refactoring only.
1562 * platform/efl/EflScreenUtilities.cpp:
1565 (WebCore::CursorMap::cursor):
1566 (WebCore::CursorMap::CursorMap):
1567 (WebCore::getEcoreCursor):
1568 * platform/efl/EflScreenUtilities.h:
1570 * platform/efl/WidgetEfl.cpp:
1571 (WebCore::Widget::applyFallbackCursor):
1573 2012-06-10 Sheriff Bot <webkit.review.bot@gmail.com>
1575 Unreviewed, rolling out r119955.
1576 http://trac.webkit.org/changeset/119955
1577 https://bugs.webkit.org/show_bug.cgi?id=88758
1579 Breaks Chromium compile - Chromium depends on removed API
1580 (Requested by dominicc on #webkit).
1583 * editing/Editor.cpp:
1584 (WebCore::Editor::insideVisibleArea):
1586 (WebCore::Editor::firstVisibleRange):
1587 (WebCore::Editor::lastVisibleRange):
1588 (WebCore::Editor::nextVisibleRange):
1589 (WebCore::Editor::rangeOfString):
1590 (WebCore::Editor::countMatchesForText):
1593 * loader/FrameLoader.cpp:
1594 (WebCore::FrameLoader::findFrameForNavigation):
1595 * page/DOMWindow.cpp:
1596 (WebCore::DOMWindow::parent):
1597 (WebCore::DOMWindow::top):
1598 * page/EventHandler.cpp:
1599 (WebCore::EventHandler::hitTestResultAtPoint):
1601 (WebCore::Frame::Frame):
1604 (WebCore::Frame::isDisconnected):
1606 (WebCore::Frame::setIsDisconnected):
1607 (WebCore::Frame::excludeFromTextSearch):
1608 (WebCore::Frame::setExcludeFromTextSearch):
1609 * page/FrameTree.cpp:
1610 (WebCore::FrameTree::parent):
1611 (WebCore::FrameTree::top):
1614 * page/Location.cpp:
1615 (WebCore::Location::ancestorOrigins):
1616 * xml/XMLTreeViewer.cpp:
1617 (WebCore::XMLTreeViewer::hasNoStyleInformation):
1619 2012-06-08 Kinuko Yasuda <kinuko@chromium.org>
1621 Using BlobBuilder should show a deprecation warning message (if it is enabled)
1622 https://bugs.webkit.org/show_bug.cgi?id=88644
1624 Reviewed by Jian Li.
1626 Mac has already disabled BlobBuilder, but Chromium still has it.
1627 We should start showing a warning to let people migrate to using Blob constructor.
1629 Tests: fast/files/blob-builder-crash.html
1631 * fileapi/WebKitBlobBuilder.cpp:
1633 (WebCore::WebKitBlobBuilder::create):
1634 * fileapi/WebKitBlobBuilder.h:
1636 (WebKitBlobBuilder):
1637 * fileapi/WebKitBlobBuilder.idl:
1639 2012-06-10 Sam Weinig <sam@webkit.org>
1641 Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
1642 https://bugs.webkit.org/show_bug.cgi?id=88723
1644 Reviewed by Dan Bernstein.
1648 * editing/Editor.cpp:
1649 (WebCore::Editor::rangeOfString):
1650 (WebCore::Editor::countMatchesForText):
1653 * loader/FrameLoader.cpp:
1654 (WebCore::FrameLoader::findFrameForNavigation):
1655 * page/DOMWindow.cpp:
1656 (WebCore::DOMWindow::parent):
1657 (WebCore::DOMWindow::top):
1658 * page/EventHandler.cpp:
1659 (WebCore::EventHandler::hitTestResultAtPoint):
1661 (WebCore::Frame::Frame):
1664 * page/FrameTree.cpp:
1665 (WebCore::FrameTree::parent):
1666 (WebCore::FrameTree::top):
1669 * page/Location.cpp:
1670 (WebCore::Location::ancestorOrigins):
1671 * xml/XMLTreeViewer.cpp:
1672 (WebCore::XMLTreeViewer::hasNoStyleInformation):
1673 Update for the removal of disconnected frames and text search exclusions concepts.
1675 2012-06-07 Kinuko Yasuda <kinuko@google.com>
1677 Move Quota related code out of DOMWindow and into the quota/ folder
1678 https://bugs.webkit.org/show_bug.cgi?id=88512
1680 Reviewed by Adam Barth.
1682 No new tests: no visible changes.
1685 * DerivedSources.cpp:
1686 * DerivedSources.make:
1687 * DerivedSources.pri:
1688 * Modules/quota/DOMWindowQuota.cpp: Added.
1689 * Modules/quota/DOMWindowQuota.h: Added.
1690 * Modules/quota/DOMWindowQuota.idl: Added.
1691 * Modules/quota/StorageInfo.cpp: Renamed from Source/WebCore/storage/StorageInfo.cpp.
1692 * Modules/quota/StorageInfo.h: Renamed from Source/WebCore/storage/StorageInfo.h.
1693 * Modules/quota/StorageInfo.idl: Renamed from Source/WebCore/storage/StorageInfo.idl.
1694 * Modules/quota/StorageInfoErrorCallback.h: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.h.
1695 * Modules/quota/StorageInfoErrorCallback.idl: Renamed from Source/WebCore/storage/StorageInfoErrorCallback.idl.
1696 * Modules/quota/StorageInfoQuotaCallback.h: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.h.
1697 * Modules/quota/StorageInfoQuotaCallback.idl: Renamed from Source/WebCore/storage/StorageInfoQuotaCallback.idl.
1698 * Modules/quota/StorageInfoUsageCallback.h: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.h.
1699 * Modules/quota/StorageInfoUsageCallback.idl: Renamed from Source/WebCore/storage/StorageInfoUsageCallback.idl.
1701 * WebCore.gyp/WebCore.gyp:
1704 * WebCore.vcproj/WebCore.vcproj:
1705 * WebCore.vcproj/WebCoreCommon.vsprops:
1706 * WebCore.vcproj/copyForwardingHeaders.cmd:
1707 * WebCore.xcodeproj/project.pbxproj:
1708 * page/DOMWindow.cpp:
1710 * page/DOMWindow.idl:
1712 2012-06-10 Hayato Ito <hayato@chromium.org>
1714 An inheritance of '-webkit-user-modify' does not stop at shadow boundary.
1715 https://bugs.webkit.org/show_bug.cgi?id=88514
1717 Reviewed by Ryosuke Niwa.
1719 In StyleResolver::styleForElement(), we reset '-webkit-user-modify'
1720 CSS property after inheriting a parent style, but that is not
1721 enough. We also have to reset '-webkit-user-modify' when we use a
1722 cached result in applying matched properties.
1724 Test: fast/dom/shadow/user-modify-inheritance.html
1726 * css/StyleResolver.cpp:
1727 (WebCore::StyleResolver::applyMatchedProperties):
1728 (WebCore::StyleResolver::styleForElement):
1729 * css/StyleResolver.h:
1731 * rendering/style/RenderStyle.cpp:
1732 (WebCore::RenderStyle::inheritFrom):
1733 * rendering/style/RenderStyle.h:
1735 2012-06-10 Yoshifumi Inoue <yosin@chromium.org>
1737 [Forms] Introduce Decimal behind the InputNumber type
1738 https://bugs.webkit.org/show_bug.cgi?id=88383
1740 Reviewed by Kent Tamura.
1742 This patch introduces decimal arithmetic for steppable input types,
1743 e.g. date, datetime, number, range, and so on, to avoid rounding error
1744 caused by base 2 floating point representation, e.g. C/C++ double type.
1746 Most of decimal arithmetic calculations are implemented in StepRange
1747 class, replacing "double" with "Decimal", InputType::applyStep, and
1748 InputType::stepFromRenderer.
1750 Changes introduced by this patch are still intermediate state.
1751 Following patch will replace InputNumber type to Decimal type for
1752 completion of introducing decimal arithmetic.
1754 Test: fast/forms/range/range-value-rounding.html
1756 * html/BaseDateAndTimeInputType.cpp:
1757 (WebCore::BaseDateAndTimeInputType::serialize): Changed for Decimal type.
1758 (WebCore::BaseDateAndTimeInputType::serializeWithComponents): ditto.
1759 * html/DateInputType.cpp:
1760 (WebCore::DateInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
1761 * html/DateTimeInputType.cpp:
1762 (WebCore::DateTimeInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
1763 * html/DateTimeLocalInputType.cpp:
1764 (WebCore::DateTimeLocalInputType::createStepRange): Replaced NumberWithDecimalPlaces to InputNumber.
1765 * html/InputType.cpp:
1766 (WebCore::InputType::rangeUnderflow): Changed for Decimal type.
1767 (WebCore::InputType::rangeOverflow): Changed for Decimal type.
1768 (WebCore::InputType::minimum): Changed for Decimal type.
1769 (WebCore::InputType::maximum): ditto.
1770 (WebCore::InputType::isInRange): ditto.
1771 (WebCore::InputType::isOutOfRange): ditto.
1772 (WebCore::InputType::stepMismatch): ditto.
1773 (WebCore::InputType::validationMessage): ditto.
1774 (WebCore::InputType::parseToNumberOrNaN): ditto.
1775 (WebCore::InputType::applyStep): ditto.
1776 (WebCore::InputType::stepUpFromRenderer): ditto.
1778 (InputType): Removed parseToNumberWIthDecimaplPlaces.
1779 * html/MonthInputType.cpp:
1780 (WebCore::MonthInputType::createStepRange): Changed for Decimal type.
1781 * html/NumberInputType.cpp:
1782 (WebCore::RealNumberRenderSize): Added for calculateRenderSize.
1783 (WebCore::calculateRenderSize): Added. This function replacess lengthBeforeDecimalPoint.
1784 (WebCore::NumberInputType::createStepRange): Changed for Decimal type.
1785 (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed to use calculateRenderSize.
1786 (WebCore::NumberInputType::parseToNumber): Changed for Decimal type.
1787 (WebCore::NumberInputType::serialize): ditto.
1788 * html/NumberInputType.h:
1789 (NumberInputType): Removed parseToNumberWIthDecimaplPlaces.
1790 * html/RangeInputType.cpp:
1791 (WebCore::RangeInputType::createStepRange): Changed for Decimal type.
1792 (WebCore::RangeInputType::handleKeydownEvent): ditto.
1793 (WebCore::RangeInputType::parseToNumber): ditto.
1794 (WebCore::RangeInputType::serialize): ditto.
1795 * html/StepRange.cpp:
1796 (WebCore::StepRange::StepRange): Removed decimal places and changed for Decimal type.
1797 (WebCore::StepRange::acceptableError): Changed for Decimal type.
1798 (WebCore::StepRange::alignValueForStep): ditto.
1799 (WebCore::StepRange::clampValue): Changed for Decimal type and std::min/max.
1800 (WebCore::StepRange::parseStep): Changed for Decimal type and removed NumberWithDecimalPlaces.
1801 (WebCore::StepRange::stepMismatch): Changed for Decimal type.
1802 (WebCore::convertDoubleToInputNumber): Changed to real implementation.
1803 (WebCore::convertInputNumberToDouble): Changed to real implementation.
1805 (InputNumber): Replacement of NumberWithDecimalPlaces.
1806 (WebCore::StepRange::InputNumber::InputNumber):
1807 * html/TimeInputType.cpp:
1808 (WebCore::TimeInputType::createStepRange): Changed for Decimal type.
1809 * html/WeekInputType.cpp:
1810 (WebCore::WeekInputType::createStepRange): Changed for Decimal type.
1811 * html/parser/HTMLParserIdioms.cpp:
1812 (WebCore::serializeForNumberType): Added Decimal version.
1813 (WebCore::parseToDecimalForNumberType): Added.
1814 * html/parser/HTMLParserIdioms.h: Updated comments for parseToDoubleForNumberType.
1815 * html/shadow/SliderThumbElement.cpp:
1816 (WebCore::sliderPosition): Changed for Decimal type.
1818 2012-06-10 Jason Liu <jason.liu@torchmobile.com.cn>
1820 [BlackBerry] Possible to clobber httponly cookie.
1821 https://bugs.webkit.org/show_bug.cgi?id=86067
1823 Reviewed by Rob Buis.
1825 If a cookie is set by javaScript and there is already a same httpOnly cookie in cookieManager,
1826 we should reject it. If it has a httpOnly property, we reject it, too.
1828 Test: http/tests/cookies/js-get-and-set-http-only-cookie.html
1830 * platform/blackberry/CookieJarBlackBerry.cpp:
1831 (WebCore::setCookies):
1832 * platform/blackberry/CookieManager.cpp:
1833 (WebCore::CookieManager::setCookies):
1834 (WebCore::CookieManager::checkAndTreatCookie):
1835 (WebCore::CookieManager::addCookieToMap):
1836 (WebCore::CookieManager::setPrivateMode):
1837 * platform/blackberry/CookieManager.h:
1838 * platform/blackberry/CookieMap.cpp:
1839 (WebCore::CookieMap::addOrReplaceCookie):
1840 (WebCore::CookieMap::removeCookie):
1841 * platform/blackberry/CookieMap.h:
1844 2012-06-10 Pablo Flouret <pablof@motorola.com>
1846 Access control allow lists starting with a comma are parsed incorrectly (CORS)
1847 https://bugs.webkit.org/show_bug.cgi?id=88461
1849 Reviewed by Adam Barth.
1851 The parsing algorithm would stop parsing at the first comma (being an
1852 empty entry, of sorts) and bail out, effectively ignoring the whole
1855 Test: http/tests/xmlhttprequest/access-control-allow-lists-starting-with-comma.html
1857 * loader/CrossOriginPreflightResultCache.cpp:
1858 (WebCore::parseAccessControlAllowList):
1860 2012-06-10 Darin Adler <darin@apple.com>
1862 Some additional tweaks to keep TreeShared code simple/clean
1863 https://bugs.webkit.org/show_bug.cgi?id=88738
1865 Reviewed by Adam Barth.
1867 * platform/TreeShared.h: Make constructor and destructor both protected.
1868 It's slightly dangerous to have a public non-virtual destructor, and there
1869 is no reason it needs to be public.
1870 (WebCore::TreeShared::~TreeShared): Make debug-only destructor non-virtual;
1871 we were getting no value from it being virtual. Now that it's non-virtual,
1872 there is no need to use an #if on it since it's an empty inline destructor
1873 in non-debug builds.
1875 2012-06-06 Jer Noble <jer.noble@apple.com>
1877 REGRESSION: Setting invalid media "src" does not cause "error" event
1878 https://bugs.webkit.org/show_bug.cgi?id=88423
1880 Reviewed by Eric Carlson.
1882 Test: http/tests/media/video-src-invalid-error.html
1884 Two problems here. When the loadTimer is scheduled, the m_pendingLoadFlags
1885 variable is set to specify what type of load is scheduled. It is cleared
1886 when the loadTimer fires. But, when prepareForLoad() stops the loadTimer,
1887 it does not clear the m_pendingLoadFlags variable, so the next time
1888 scheduleLoad() is called (when the src is changed to an invalid URL)
1889 prepareForLoad() is not called again.
1891 Second problem: Due to a bug in QTKit (<rdar://problem/11606415>), the
1892 QTMovieLoadStateChangedNotification is never fired for an invalid http
1893 URL if QTMovieOpenAsyncRequiredAttribute:YES is not passed when creating
1896 Add a new utility method which both stops the m_loadTimer and clears the
1897 m_pendingLoadFlags, and use it in all the places where m_loadTimer was
1900 * html/HTMLMediaElement.cpp:
1901 (WebCore::HTMLMediaElement::prepareForLoad):
1902 (WebCore::HTMLMediaElement::stopLoadTimer): Added
1903 (WebCore::HTMLMediaElement::userCancelledLoad):
1904 * html/HTMLMediaElement.h:
1906 And pass QTMovieOpenAsyncRequiredAttribute:YES when creating the QTMovie:
1908 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1909 (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
1911 2012-06-06 Jer Noble <jer.noble@apple.com>
1913 Add logging functions to MediaPlayerPrivateQTKit.
1914 https://bugs.webkit.org/show_bug.cgi?id=88425
1916 Reviewed by Eric Carlson.
1918 No new tests; adds logging functions to aide debugging.
1920 MediaPlayerPrivateQTKit should emit the same kind of logging messages as
1921 other MediaPlayerPrivate engines to aide in debugging.
1923 Distinguish between loadedRangesChanged() and loadStateChanged() for logging
1925 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1926 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1927 (WebCore::MediaPlayerPrivateQTKit::loadedRangesChanged):
1928 (-[WebCoreMovieObserver loadedRangesChanged:]):
1930 Add LOG messages for each of the following functions:
1931 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1932 (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
1933 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1934 (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
1935 (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
1936 (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
1937 (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
1938 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1939 (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
1940 (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
1941 (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
1942 (WebCore::MediaPlayerPrivateQTKit::load):
1943 (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
1944 (WebCore::MediaPlayerPrivateQTKit::play):
1945 (WebCore::MediaPlayerPrivateQTKit::pause):
1946 (WebCore::MediaPlayerPrivateQTKit::seek):
1947 (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
1948 (WebCore::MediaPlayerPrivateQTKit::setVolume):
1949 (WebCore::MediaPlayerPrivateQTKit::setRate):
1950 (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
1951 (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
1952 (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
1953 (WebCore::MediaPlayerPrivateQTKit::updateStates):
1954 (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
1955 (WebCore::MediaPlayerPrivateQTKit::rateChanged):
1956 (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
1957 (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1958 (WebCore::MediaPlayerPrivateQTKit::didEnd):
1959 (WebCore::MediaPlayerPrivateQTKit::clearMediaCache):
1960 (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite):
1961 (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
1963 2012-06-07 Jer Noble <jer.noble@apple.com>
1965 WebCore should use a single definition of an invalid media time.
1966 https://bugs.webkit.org/show_bug.cgi?id=88572
1968 Reviewed by Eric Carlson.
1970 No new tests; no change in functionality, so covered by existing tests.
1972 Add a new, universal definition for an invalid media time:
1973 * platform/graphics/MediaPlayer.h:
1974 (WebCore::MediaPlayer::invalidTime):
1976 Use this new definition instead of the hodge podge of (identical) local
1977 definitions for an invalid media time:
1978 * html/HTMLMediaElement.cpp:
1979 (WebCore::HTMLMediaElement::HTMLMediaElement):
1980 (WebCore::HTMLMediaElement::invalidateCachedTime):
1981 (WebCore::HTMLMediaElement::currentTime):
1982 (WebCore::HTMLMediaElement::initialTime):
1983 (WebCore::HTMLMediaElement::playbackProgressTimerFired):
1984 (WebCore::HTMLMediaElement::prepareMediaFragmentURI):
1985 (WebCore::HTMLMediaElement::applyMediaFragmentURI):
1986 * html/MediaFragmentURIParser.cpp:
1987 (WebCore::MediaFragmentURIParser::invalidTimeValue):
1988 (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
1989 (WebCore::MediaFragmentURIParser::startTime):
1990 (WebCore::MediaFragmentURIParser::endTime):
1991 (WebCore::MediaFragmentURIParser::parseTimeFragment):
1992 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1993 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1994 (WebCore::MediaPlayerPrivateAVFoundation::duration):
1995 (WebCore::MediaPlayerPrivateAVFoundation::seeking):
1996 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
1997 (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
1998 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1999 (MediaPlayerPrivateAVFoundation):
2000 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2001 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2002 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2003 (WebCore::MediaPlayerPrivateQTKit::duration):
2004 (WebCore::MediaPlayerPrivateQTKit::updateStates):
2005 (WebCore::MediaPlayerPrivateQTKit::timeChanged):
2007 2012-06-10 Darin Adler <darin@apple.com>
2009 Remove unneeded callRemovedLastRef function from TreeShared refactoring
2010 https://bugs.webkit.org/show_bug.cgi?id=88653
2012 Reviewed by Sam Weinig.
2014 * WebCore.exp.in: Updated to remove callRemovedLastRef and add removedLastRef.
2016 * dom/ContainerNode.cpp: Removed callRemovedLastRef, which is no longer
2017 needed and also had a bad cast in it.
2019 * dom/Document.h: Made removedLastRef private and non-virtual and made Node
2020 a friend so it can call the private function.
2023 (WebCore::Node::removedLastRef): Moved here. This should not be an inline
2024 function. Added comments explaining why it should not be inlined. Also added
2025 explicit code to call to Document::removedLastRef, and added a comment why
2026 that's the right thing to do here.
2027 * dom/Node.h: Inherit from TreeShared<Node, ContainerNode>. Made the
2028 removedLastRef function non-virtual and removed it from the header file.
2029 Updated TreeShared using statements. Made the TreeShared template class a
2030 friend so it can call the private removedLastRef.
2032 * html/HTMLFormControlElement.h: Updated TreeShared using statements to specify
2033 Node instead, which accomplishes the same thing.
2034 * html/HTMLObjectElement.h: Ditto.
2036 * platform/TreeShared.h: Made TreeShared take two template arguments for the
2037 node type and the parent node type. Removed the callRemovedLastRef functions and
2038 the extra forward declarations it required. Removed the private unused
2039 removedLastRef function; not sure why it was left in here at all.
2040 (WebCore::TreeShared::deref): Call removedLastRef instead of callRemovedLastRef.
2041 (WebCore::TreeShared::setParent): Use ParentNodeType.
2042 (WebCore::TreeShared::parent): Ditto.
2043 (WebCore::adopted): Updated to have both template arguments.
2045 * svg/SVGElementInstance.cpp:
2046 (WebCore::SVGElementInstance::removedLastRef): Replaced callRemovedLastRef with
2047 this. Moved the body out of the header and added a comment explaining why the
2048 function should not be inlined.
2049 * svg/SVGElementInstance.h: Made removedLastRef non-virtual, non-inline, and
2050 private. Made TreeShared a friend so it can call the private removedLastRef.
2051 Updated TreeShared using statements.
2053 2012-06-10 Darin Adler <darin@apple.com>
2055 * WebCore.exp.in: Re-sorted and alphabetized the file.
2057 2012-06-10 Balazs Kelemen <kbalazs@webkit.org>
2059 [Qt][Win] Fix building Source/WebCore/plugins/win/PluginViewWin.cpp
2060 https://bugs.webkit.org/show_bug.cgi?id=88308
2062 Reviewed by Simon Hausmann.
2064 No new tests, just a build fix.
2066 Use ownerWindow() from page client. It has been
2067 introduced for x11 plugins to solve exactly the
2070 * plugins/win/PluginViewWin.cpp:
2071 (windowHandleForPageClient):
2073 2012-06-10 Balazs Kelemen <kbalazs@webkit.org>
2075 [Qt][Win] Fix building ImageQt.cpp
2076 https://bugs.webkit.org/show_bug.cgi?id=88306
2078 Reviewed by Simon Hausmann.
2080 No new tests, this is just a build fix.
2082 * platform/graphics/qt/ImageQt.cpp:
2084 (WebCore::BitmapImage::create):
2085 Adapt to the "API" changes in Qt.
2087 2012-06-09 Gregg Tavares <gman@google.com>
2089 Make WebGL mark draws for compositing even if the draw count is zero
2090 https://bugs.webkit.org/show_bug.cgi?id=88718
2092 Reviewed by Kenneth Russell.
2094 No new tests as no new functionality.
2096 * html/canvas/WebGLRenderingContext.cpp:
2098 (WebCore::WebGLRenderingContext::drawArrays):
2099 (WebCore::WebGLRenderingContext::drawElements):
2101 2012-06-09 Dominic Cooney <dominicc@chromium.org>
2103 [Chromium] Remove JavaScriptCore dependencies from gyp
2104 https://bugs.webkit.org/show_bug.cgi?id=88510
2106 Reviewed by Adam Barth.
2108 Chromium doesn't support JSC any more and there doesn't seem to be
2109 a strong interest in using GYP as the common build system in other
2112 No new functionality => No new tests.
2114 * gyp/WebCore.gyp: Removed.
2115 * gyp/copy-forwarding-and-icu-headers.sh: Removed.
2116 * gyp/copy-inspector-resources.sh: Removed.
2117 * gyp/generate-derived-sources.sh: Removed.
2118 * gyp/generate-webcore-export-file-generator.sh: Removed.
2119 * gyp/gtk.gyp: Removed.
2120 * gyp/run-if-exists.sh: Removed.
2121 * gyp/streamline-inspector-source.sh: Removed.
2122 * gyp/update-info-plist.sh: Removed.
2124 2012-06-07 Darin Adler <darin@apple.com>
2126 Refactor and improve code style in TextResourceDecoder to prepare for buffering improvement
2127 https://bugs.webkit.org/show_bug.cgi?id=88566
2129 Reviewed by Alexey Proskuryakov.
2131 * loader/TextResourceDecoder.cpp:
2132 (WebCore::bytesEqual): Added helper function to make comparing against sequences of bytes
2133 easier to read at the call site.
2134 (WebCore::KanjiCode::judge): Changed to use bytesEqual in a few places, merged multiple if
2135 statements, got rid of else after goto.
2136 (WebCore::TextResourceDecoder::checkForCSSCharset): Changed to use early return instead of
2137 nesting the whole function. Changed to use bytesEqual.
2138 (WebCore::skipComment): Changed to use early return for more cases. Changed to use bytesEqual.
2139 (WebCore::TextResourceDecoder::checkForHeadCharset): Changed to use bytesEqual.
2140 (WebCore::TextResourceDecoder::decode): Changed to use emptyString() instead of "", since
2141 the former is more efficient.
2143 2012-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
2145 Unreviewed, rolling out r118618 and r119353.
2146 http://trac.webkit.org/changeset/118618
2147 http://trac.webkit.org/changeset/119353
2148 https://bugs.webkit.org/show_bug.cgi?id=88720
2150 Caused at least 30 different crashes on ClusterFuzz (Requested
2151 by inferno-sec on #webkit).
2153 * loader/SubresourceLoader.cpp:
2154 (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
2155 * loader/cache/CachedCSSStyleSheet.cpp:
2156 (WebCore::CachedCSSStyleSheet::allClientsRemoved):
2157 * loader/cache/CachedFont.cpp:
2158 (WebCore::CachedFont::allClientsRemoved):
2159 * loader/cache/CachedFont.h:
2160 (WebCore::CachedFontClient::resourceClientType):
2161 * loader/cache/CachedImage.cpp:
2162 (WebCore::CachedImage::removeClientForRenderer):
2164 (WebCore::CachedImage::allClientsRemoved):
2165 (WebCore::CachedImage::lookupOrCreateImageForRenderer):
2166 * loader/cache/CachedImage.h:
2168 (WebCore::CachedImageClient::resourceClientType):
2169 * loader/cache/CachedRawResource.cpp:
2170 (WebCore::CachedRawResource::allClientsRemoved):
2172 * loader/cache/CachedRawResource.h:
2173 (CachedRawResource):
2174 (WebCore::CachedRawResourceClient::resourceClientType):
2175 * loader/cache/CachedResource.cpp:
2176 (WebCore::CachedResource::removeClient):
2177 * loader/cache/CachedResource.h:
2178 (WebCore::CachedResource::allClientsRemoved):
2179 * loader/cache/CachedResourceClient.h:
2180 (WebCore::CachedResourceClient::resourceClientType):
2181 * loader/cache/CachedSVGDocument.h:
2182 (WebCore::CachedSVGDocumentClient::resourceClientType):
2183 * loader/cache/CachedScript.cpp:
2184 (WebCore::CachedScript::allClientsRemoved):
2185 * loader/cache/CachedStyleSheetClient.h:
2186 (WebCore::CachedStyleSheetClient::resourceClientType):
2187 * rendering/style/StyleCachedImage.cpp:
2188 (WebCore::StyleCachedImage::removeClient):
2189 * rendering/style/StyleCachedImageSet.cpp:
2190 (WebCore::StyleCachedImageSet::removeClient):
2191 * svg/graphics/SVGImageCache.cpp:
2192 (WebCore::SVGImageCache::~SVGImageCache):
2193 (WebCore::SVGImageCache::removeRendererFromCache):
2194 (WebCore::SVGImageCache::setRequestedSizeAndScales):
2195 (WebCore::SVGImageCache::requestedSizeAndScales):
2196 (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
2197 * svg/graphics/SVGImageCache.h:
2201 2012-06-09 Florin Malita <fmalita@chromium.org>
2203 Fixed-position foreignObject descendants should be relative to the foreignObject viewport
2204 https://bugs.webkit.org/show_bug.cgi?id=88547
2206 Reviewed by Abhishek Arya.
2208 Tests: svg/foreignObject/fO-fixed-position-crash.html
2209 svg/foreignObject/fixed-position-expected.svg
2210 svg/foreignObject/fixed-position.svg
2212 Fixed position elements are currently registered with the top level
2213 RenderView even when embedded within an SVG foreignOject. This patch
2214 changes containingBlock() & container() to return the containing
2215 foreignObject renderer instead.
2217 The new foreignObject fixed position behavior matches that of current
2218 FireFox and Opera versions and is consistent with the spec:
2219 http://www.w3.org/TR/CSS2/visuren.html#fixed-positioning
2220 http://www.w3.org/TR/SVG/coords.html#EstablishingANewViewport
2222 * rendering/RenderObject.cpp:
2223 (WebCore::RenderObject::containingBlock):
2224 (WebCore::RenderObject::container):
2226 2012-06-09 Adam Barth <abarth@webkit.org>
2228 Can't use eval in iframes sanbdoxed via CSP header
2229 https://bugs.webkit.org/show_bug.cgi?id=88450
2231 Reviewed by Mihai Parparita.
2233 The initial empty document in a frame inherits the security context of
2234 its parent (including the CSP policy). When we load the real document,
2235 in some cases we'll do a "secure transition" to the new document. That
2236 means that we leave the global object in place in case the parent
2237 document has created any properties that it expects will be visible to
2240 If the parent document has a CSP policy that blocks eval, the "no eval"
2241 bit will be set on the global object of the initial document. When we
2242 perform a "secure transition" to the new document, we'll keep the bit,
2243 which is wrong. In this patch, we reset the bit by always enabling
2244 eval when clearing the context, regardless of whether we're performing
2245 a "secure transition".
2247 Test: http/tests/security/contentSecurityPolicy/iframe-inside-csp.html
2249 * bindings/js/ScriptController.cpp:
2250 (WebCore::ScriptController::enableEval):
2252 * bindings/js/ScriptController.h:
2254 * bindings/v8/ScriptController.cpp:
2255 (WebCore::ScriptController::enableEval):
2257 (WebCore::ScriptController::disableEval):
2258 * bindings/v8/ScriptController.h:
2260 * loader/FrameLoader.cpp:
2261 (WebCore::FrameLoader::clear):
2263 2012-06-09 Pablo Flouret <pablof@motorola.com>
2265 The value in Access-Control-Allow-Origin is not being matched correctly for CORS-enabled requests
2266 https://bugs.webkit.org/show_bug.cgi?id=88139
2268 Reviewed by Adam Barth.
2270 Compare a request's origin with the value given in any
2271 Access-Control-Allow-Origin headers in an exact, case-sensitive manner,
2272 instead of using SecurityOrigin::isSameSchemeHostPort(). Per step 3 of
2273 the resource sharing check algorithm in
2274 http://dvcs.w3.org/hg/cors/raw-file/tip/Overview.html#resource-sharing-check
2276 Test: http/tests/xmlhttprequest/origin-exact-matching.html
2278 * loader/CrossOriginAccessControl.cpp:
2279 (WebCore::passesAccessControlCheck):
2281 2012-06-09 Huang Dongsung <luxtella@company100.net>
2283 [Qt][Texmap] All layers with backingStore are opaque when using TextureMapperGL.
2284 https://bugs.webkit.org/show_bug.cgi?id=88703
2286 The bug originated from StillImage that is not override
2287 Image::currentFrameHasAlpha(), so it always returns false.
2288 StillImage is used by ImageBuffer, and if Texmap draws contents on ImageBuffer,
2289 TextureMapperBackingStore thinks contents does not have alpha.
2291 Covered by existing compositing tests.
2293 Reviewed by Noam Rosenthal.
2295 * platform/graphics/qt/StillImageQt.cpp:
2296 (WebCore::StillImage::currentFrameHasAlpha):
2298 * platform/graphics/qt/StillImageQt.h:
2301 2012-06-09 Victor Carbune <victor@rosedu.org>
2303 Basic support for timestamps within a TextTrackCue
2304 https://bugs.webkit.org/show_bug.cgi?id=88187
2306 Implemented support for timestamps within a TextTrackCue.
2307 This enables rendering functionality for Karaoke and Paint-on captions.
2309 Reviewed by Eric Carlson.
2311 Test: media/track/track-cue-rendering-inner-timestamps.html
2313 * css/mediaControls.css: Remove the background shadow pseudo-id and
2314 added two others, which can be further used for styling past / future
2315 contents of the cue.
2316 (video::-webkit-media-text-track-past-nodes): Used to style elements
2317 within the cue that are before the current movie time.
2318 (video::-webkit-media-text-track-future-nodes): Used to style elements
2319 within the cue that are after the current movie time.
2320 * html/HTMLMediaElement.cpp:
2321 (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Regardless of whether
2322 the active set changed or not, the current cues need to be informed of the current
2324 * html/track/TextTrackCue.cpp:
2325 (WebCore::TextTrackCue::TextTrackCue): Initiliazed past and future containers.
2326 (WebCore::TextTrackCue::getCueAsHTML): Checked whether the current cue text has
2327 inner timestamps or not, in order to render faster if no timestamps are there.
2328 (WebCore::TextTrackCue::updateDisplayTree): Added method that keeps the past and future
2329 containers up to date, given a current movie time.
2331 (WebCore::TextTrackCue::getDisplayTree): Replaced the cue background container with the
2332 past cues container. The *internal* display tree of the cue now has two containers,
2333 representing past and future elements.
2334 * html/track/TextTrackCue.h: Added several variables to support the new functionality.
2336 * html/track/WebVTTParser.cpp:
2337 (WebCore::WebVTTParser::constructTreeFromToken): Updated representation for this patch.
2338 * html/track/WebVTTParser.h:
2339 (WebVTTParser): Made public the collectTimeStamp method, as this is required for
2340 parsing timestamps within a cue as well.
2342 2012-06-09 Vsevolod Vlasov <vsevik@chromium.org>
2344 Web Inspector: Open links in Sources panel by default and fallback to Resources and Network panel otherwise.
2345 https://bugs.webkit.org/show_bug.cgi?id=88710
2347 Reviewed by Pavel Feldman.
2349 * inspector/front-end/inspector.js:
2350 (WebInspector.documentClick.followLink):
2351 (WebInspector.documentClick):
2352 (WebInspector._showAnchorLocation):
2354 2012-06-09 Vsevolod Vlasov <vsevik@chromium.org>
2356 Web Inspector: Only expand root domain in Sources/Scripts panel
2357 https://bugs.webkit.org/show_bug.cgi?id=88135
2359 Reviewed by Pavel Feldman.
2361 * inspector/front-end/NavigatorView.js:
2362 (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight):
2363 (WebInspector.NavigatorTreeOutline._treeElementsCompare):
2364 (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
2366 2012-06-09 Vsevolod Vlasov <vsevik@chromium.org>
2368 Web Inspector: Pretty print should respect text editor indent setting.
2369 https://bugs.webkit.org/show_bug.cgi?id=88713
2371 Reviewed by Pavel Feldman.
2373 * inspector/front-end/ScriptFormatter.js:
2375 2012-06-09 Dan Bernstein <mitz@apple.com>
2377 Fixed the build after r119895.
2379 * WebCore.xcodeproj/project.pbxproj:
2381 2012-06-09 Andrey Kosyakov <caseq@chromium.org>
2383 Web Inspector: [refactoring] rename TimelineVerticalOverview into TimelineFrameOverview
2384 https://bugs.webkit.org/show_bug.cgi?id=88708
2386 Reviewed by Vsevolod Vlasov.
2388 - rename TimelineVerticalOverview to TimelineFrameOverview;
2389 - rename associated fields, parameters, CSS classes etc;
2390 - rename overview mode designators to match the UI;
2391 - drop unused CSS rules for old-style mode selector;
2393 * inspector/front-end/TimelineOverviewPane.js:
2394 (WebInspector.TimelineOverviewPane):
2395 (WebInspector.TimelineOverviewPane.prototype._showEvents):
2396 (WebInspector.TimelineOverviewPane.prototype._showFrames):
2397 (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
2398 (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
2399 (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
2400 (WebInspector.TimelineOverviewPane.prototype._update):
2401 (WebInspector.TimelineOverviewPane.prototype.addFrame):
2402 (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
2403 (WebInspector.TimelineOverviewPane.prototype._reset):
2404 (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
2405 (WebInspector.TimelineFrameOverview):
2406 * inspector/front-end/TimelinePanel.js:
2407 (WebInspector.TimelinePanel):
2408 (WebInspector.TimelinePanel.prototype._shouldShowFrames):
2409 (WebInspector.TimelinePanel.prototype.revealRecordAt):
2410 * inspector/front-end/timelinePanel.css:
2411 (.timeline-frame-overview #timeline-overview-grid):
2412 (.timeline-frame-overview .timeline-overview-window):
2413 (.timeline-frame-overview .timeline-overview-dividers-background):
2414 (.timeline-frame-overview #timeline-overview-memory):
2415 (.timeline-frame-overview-status-bar-item.toggled-on .glyph):
2416 (.timeline-frame-overview-bars):
2417 (.timeline.timeline-frame-overview .resources-divider):
2418 (.sidebar-tree-item .timeline-frame-overview-status-bar-item):
2420 2012-06-08 Vsevolod Vlasov <vsevik@chromium.org>
2422 IndexedDB: Inspector should handle null, string, and array keyPaths
2423 https://bugs.webkit.org/show_bug.cgi?id=84303
2425 Reviewed by Pavel Feldman.
2427 Supported different key path types and updated tests to cover each case.
2428 Key path strings are now highlighted in the DataGrid column headers.
2430 * inspector/Inspector.json:
2431 * inspector/InspectorIndexedDBAgent.cpp:
2433 * inspector/front-end/IndexedDBModel.js:
2434 (WebInspector.IndexedDBModel.idbKeyPathFromKeyPath):
2435 (WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath):
2436 (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
2437 (WebInspector.IndexedDBModel.prototype._loadDatabase):
2438 (WebInspector.IndexedDBModel.ObjectStore.prototype.get keyPathString):
2439 (WebInspector.IndexedDBModel.Index.prototype.get keyPathString):
2440 * inspector/front-end/IndexedDBViews.js:
2441 (WebInspector.IDBDataView.prototype._createDataGrid):
2442 (WebInspector.IDBDataView.prototype._keyColumnHeaderFragment):
2443 (WebInspector.IDBDataView.prototype._keyPathStringFragment):
2444 (WebInspector.IDBDataGridNode.prototype.createCell):
2445 * inspector/front-end/ResourcesPanel.js:
2446 (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
2447 (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
2449 2012-06-08 Vsevolod Vlasov <vsevik@chromium.org>
2451 Web Inspector: Increase size limits for resource content cached in InspectorResourceAgent.
2452 https://bugs.webkit.org/show_bug.cgi?id=88674
2454 Reviewed by Pavel Feldman.
2456 * inspector/NetworkResourcesData.cpp:
2458 2012-05-25 Vsevolod Vlasov <vsevik@chromium.org>
2460 Web Inspector: Limit DebuggerAgent.Location use to DebuggerModel only, introduce WebInspector.RawLocation to be used elsewhere.
2461 https://bugs.webkit.org/show_bug.cgi?id=87270
2463 Reviewed by Pavel Feldman.
2465 Introduced WebInspector.RawLocation interface, a generic raw location independent from concrete domain (Styles, Debugger).
2466 Made WebInspector.DebuggerModel.Location implement it and switched all debugger related methods to it.
2468 * inspector/front-end/BreakpointManager.js:
2469 (WebInspector.BreakpointManager.prototype._breakpointResolved):
2470 * inspector/front-end/CompilerScriptMapping.js:
2471 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2472 * inspector/front-end/DebuggerModel.js:
2473 (WebInspector.DebuggerModel.Location):
2474 (WebInspector.DebuggerModel.prototype.continueToLocation):
2475 (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
2476 (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
2477 (WebInspector.DebuggerModel.prototype.setBreakpoint):
2478 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2479 (WebInspector.DebuggerModel.prototype._breakpointResolved):
2480 (WebInspector.DebuggerModel.prototype.createRawLocation):
2481 (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
2482 (WebInspector.DebuggerModel.prototype.setSelectedCallFrame):
2483 (WebInspector.DebuggerModel.prototype.createLiveLocation):
2484 (WebInspector.DebuggerModel.CallFrame.prototype.get location):
2485 (WebInspector.DebuggerModel.CallFrame.prototype.createLiveLocation):
2486 * inspector/front-end/DebuggerResourceBinding.js:
2487 (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
2488 (WebInspector.DebuggerResourceBinding.setScriptSource):
2489 (WebInspector.DebuggerResourceBinding.prototype.setContent.get if):
2490 (WebInspector.DebuggerResourceBinding.prototype.setContent):
2491 (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
2492 * inspector/front-end/JavaScriptSource.js:
2493 (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation):
2494 * inspector/front-end/Linkifier.js:
2495 * inspector/front-end/ObjectPopoverHelper.js:
2496 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
2497 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2498 * inspector/front-end/PresentationConsoleMessageHelper.js:
2499 * inspector/front-end/RawSourceCode.js:
2500 * inspector/front-end/ResourceScriptMapping.js:
2501 (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
2502 * inspector/front-end/Script.js:
2503 (WebInspector.Script.prototype.rawLocationToUILocation):
2504 * inspector/front-end/ScriptSnippetModel.js:
2505 (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
2506 * inspector/front-end/SourceMapping.js:
2507 * inspector/front-end/UISourceCode.js:
2508 (WebInspector.RawLocation):
2510 2012-06-09 Eugene Klyuchnikov <eustas.bug@gmail.com>
2512 Web Inspector: Add message loop instrumentation to public API and timeline agent
2513 https://bugs.webkit.org/show_bug.cgi?id=88639
2515 Reviewed by Vsevolod Vlasov.
2517 Message loop instrumentation will show when the render thread is busy.
2518 That way developer can discover if a render thread business causes low fps, or not.
2520 * inspector/InspectorClient.h:
2521 (WebCore::InspectorClient::startMessageLoopMonitoring): Starts observer.
2522 (WebCore::InspectorClient::stopMessageLoopMonitoring): Stops observer.
2523 * inspector/InspectorController.cpp:
2524 (WebCore::InspectorController::InspectorController):
2525 Changed timeline agent constructor parameters.
2526 * inspector/InspectorInstrumentation.cpp:
2527 (WebCore::InspectorInstrumentation::willProcessTaskImpl):
2528 Forwards observer notification.
2530 (WebCore::InspectorInstrumentation::didProcessTaskImpl):
2532 * inspector/InspectorInstrumentation.h:
2533 (InspectorInstrumentation):
2534 (WebCore::InspectorInstrumentation::willProcessTask):
2537 (WebCore::InspectorInstrumentation::didProcessTask):
2539 * inspector/InspectorTimelineAgent.cpp:
2540 (WebCore::InspectorTimelineAgent::start):
2542 (WebCore::InspectorTimelineAgent::stop):
2544 (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
2545 Changed result origin.
2546 (WebCore::InspectorTimelineAgent::willProcessTask):
2547 Noop implementqation.
2549 (WebCore::InspectorTimelineAgent::didProcessTask):
2550 Noop implementqation.
2551 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2552 Changed constructor parameters.
2553 * inspector/InspectorTimelineAgent.h:
2554 (WebCore::InspectorTimelineAgent::create):
2556 (InspectorTimelineAgent):
2557 * inspector/WorkerInspectorController.cpp:
2558 (WebCore::WorkerInspectorController::WorkerInspectorController):
2559 Changed timeline agent constructor parameters.
2561 2012-06-08 Andrey Kosyakov <caseq@chromium.org>
2563 Web Inspector: optimize timeline's frame mode overview appearance for 30fps
2564 https://bugs.webkit.org/show_bug.cgi?id=88556
2566 Reviewed by Vsevolod Vlasov.
2568 - adjust frame overview scale to 30fps == full height by default;
2569 - provide a fall-back auto-scale mode when median frame is longer than 1/30s;
2570 - add horizontal lines for 30 and 60fps;
2571 - drive-by fix: always use same order of categories in frame bars.
2573 * inspector/front-end/TimelineOverviewPane.js:
2574 (WebInspector.TimelineVerticalOverview.prototype.update):
2575 (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
2576 (WebInspector.TimelineVerticalOverview.prototype._renderBars):
2577 (WebInspector.TimelineVerticalOverview.prototype._drawFPSMarks):
2578 (WebInspector.TimelineVerticalOverview.prototype._renderBar):
2581 2012-06-09 Sukolsak Sakshuwong <sukolsak@google.com>
2583 Add UNDO_MANAGER flag
2584 https://bugs.webkit.org/show_bug.cgi?id=87908
2586 Reviewed by Tony Chang.
2588 Add undoManager property to document behind the UNDO_MANAGER flag and
2589 add placeholders for some methods of undoManager.
2591 Test: editing/undomanager/document-has-undomanager.html
2594 * Configurations/FeatureDefines.xcconfig:
2595 * DerivedSources.cpp:
2596 * DerivedSources.make:
2597 * DerivedSources.pri:
2599 * GNUmakefile.list.am:
2601 * WebCore.xcodeproj/project.pbxproj:
2603 (WebCore::Document::Document):
2605 (WebCore::Document::undoManager):
2610 * editing/UndoManager.cpp: Added.
2612 (WebCore::UndoManager::create):
2613 (WebCore::UndoManager::UndoManager):
2614 (WebCore::UndoManager::undo):
2615 (WebCore::UndoManager::redo):
2616 (WebCore::UndoManager::clearUndo):
2617 (WebCore::UndoManager::clearRedo):
2618 * editing/UndoManager.h: Added.
2621 * editing/UndoManager.idl: Added.
2623 2012-06-08 Levi Weintraub <leviw@chromium.org>
2625 RenderLayer::paintChildLayerIntoColumns doesn't properly pixel snap
2626 https://bugs.webkit.org/show_bug.cgi?id=88554
2628 Reviewed by Darin Adler.
2630 Column handling code in RenderLayer and RenderBlock was improperly clipping and translating
2631 using floats derived from FractionalLayoutUnits without pixel snapping. RenderLayer also
2632 improperly stored render tree offsets in ints instead of LayoutUnits. This corrects this
2635 Test: fast/sub-pixel/column-clipping.html
2637 * rendering/RenderBlock.cpp:
2638 (WebCore::RenderBlock::paintColumnContents):
2639 * rendering/RenderLayer.cpp:
2640 (WebCore::RenderLayer::paintChildLayerIntoColumns):
2642 2012-06-08 Rakesh KN <rakesh.kn@motorola.com>
2644 REGRESSION(r116487?): HTMLFormElement::elements['name'] is empty if the form is detached from the document tree
2645 https://bugs.webkit.org/show_bug.cgi?id=88632
2647 Reviewed by Ryosuke Niwa.
2649 Update root node of RadioNodeList when the form element is detached from dom tree.
2651 Test: fast/forms/radionodelist-whose-form-element-detached-from-domtree.html
2654 (WebCore::Node::resetCachedRadioNodeListRootNode):
2655 New function to update the root node of RadioNodeLists to form element from document.
2656 * dom/Node.h: Ditto.
2657 * html/HTMLFormElement.cpp:
2658 (WebCore::HTMLFormElement::removedFrom):
2659 On detach, we update the root node of all RadioNodeLists of this form element.
2660 * html/RadioNodeList.cpp:
2661 (WebCore::RadioNodeList::setRootElement):
2662 Setter for updating root node.
2663 * html/RadioNodeList.h:
2664 (RadioNodeList): Ditto.
2666 2012-06-08 David Reveman <reveman@chromium.org>
2668 [Chromium] Compositor doesn't support translucent root layers.
2669 https://bugs.webkit.org/show_bug.cgi?id=87821
2671 Reviewed by James Robinson.
2673 Forward the isTransparent WebView setting to WebLayerTreeView,
2674 CCLayerTreeHost and CCLayerTreeHostImpl as hasTransparentBackground.
2675 Use hasTransparentBackground setting to determine how to clear the
2676 root render pass and draw the background. Set opaque flag correctly
2677 on the NonCompositedContentHost's graphics layer to make sure
2678 sub-pixel rendering is not used with a transparent WebView.
2680 Unit tests: CCLayerTreeHostImplTest.hasTransparentBackground
2681 LayerRendererChromiumTest2.opaqueRenderPass
2682 LayerRendererChromiumTest2.transparentRenderPass
2684 * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
2685 (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
2686 * platform/graphics/chromium/LayerRendererChromium.cpp:
2687 (WebCore::LayerRendererChromium::clearRenderPass):
2688 (WebCore::LayerRendererChromium::drawRenderPass):
2689 (WebCore::LayerRendererChromium::drawBackgroundFilters):
2690 * platform/graphics/chromium/LayerRendererChromium.h:
2691 (LayerRendererChromium):
2692 * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
2693 (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
2694 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2695 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2696 (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2697 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2698 (WebCore::CCLayerTreeHost::setHasTransparentBackground):
2700 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2701 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2702 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2703 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2704 (WebCore::CCLayerTreeHostImpl::hasTransparentBackground):
2705 (WebCore::CCLayerTreeHostImpl::setHasTransparentBackground):
2706 (CCLayerTreeHostImpl):
2707 * platform/graphics/chromium/cc/CCRenderPass.cpp:
2708 (WebCore::CCRenderPass::CCRenderPass):
2709 * platform/graphics/chromium/cc/CCRenderPass.h:
2710 (WebCore::CCRenderPass::hasTransparentBackground):
2711 (WebCore::CCRenderPass::setHasTransparentBackground):
2714 2012-06-08 Ian Vollick <vollick@chromium.org>
2716 [chromium] Single thread proxy's animation timer should short circuit if the layer renderer has not been initialized
2717 https://bugs.webkit.org/show_bug.cgi?id=88668
2719 Reviewed by James Robinson.
2721 Unit test: CCSingleThreadProxyTestDidAddAnimationBeforeInitializingLayerRenderer.runSingleThreaded
2723 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2724 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2726 2012-06-08 Shezan Baig <shezbaig.wk@gmail.com>
2728 Caret is not rendered in empty inline contenteditable elements
2729 https://bugs.webkit.org/show_bug.cgi?id=85793
2731 Reviewed by Ryosuke Niwa.
2733 Override localCaretRect in RenderInline. The implementation was almost
2734 identical to localCaretRect in RenderBlock for empty block elements, so
2735 I refactored RenderBlock::localCaretRect and moved the logic to a new
2736 method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The
2737 implementation of 'localCaretRect' in RenderBlock and RenderInline both
2738 use this helper method in RenderBoxModelObject.
2740 Tests: editing/selection/caret-in-empty-inline-1.html
2741 editing/selection/caret-in-empty-inline-2.html
2743 * rendering/RenderBlock.cpp:
2744 (WebCore::RenderBlock::localCaretRect):
2745 Modified to use RenderBoxModelObject::localCaretRectForEmptyElement.
2746 * rendering/RenderBoxModelObject.cpp:
2747 (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
2749 * rendering/RenderBoxModelObject.h:
2750 (RenderBoxModelObject):
2751 Add localCaretRectForEmptyElement helper method.
2752 * rendering/RenderInline.cpp:
2753 (WebCore::RenderInline::localCaretRect):
2755 * rendering/RenderInline.h:
2757 Override localCaretRect using localCaretRectForEmptyElement.
2759 2012-06-08 Mike West <mkwst@chromium.org>
2761 Treat blob: and filesystem: URLs generated via secure origins as secure.
2762 https://bugs.webkit.org/show_bug.cgi?id=84054
2764 Loading a blob: or filesystem: URL into an iframe or image that's
2765 contained on an HTTPS page shouldn't generate a mixed content warning.
2766 This change adds a SecurityOrigin::isSecure to check both against a
2767 URLs protocol, and the protocol of it's so-called "inner URL" if it's
2768 the type of URL that has such a thing. These sorts of URLs which are
2769 generated from secure sources will themselves be treated as secure.
2771 Reviewed by Adam Barth.
2773 Tests: http/tests/security/mixedContent/blob-url-in-iframe.html
2774 http/tests/security/mixedContent/filesystem-url-in-iframe.html
2776 * loader/FrameLoader.cpp:
2777 (WebCore::FrameLoader::isMixedContent):
2778 * page/SecurityOrigin.cpp:
2780 (WebCore::SecurityOrigin::isSecure):
2781 * page/SecurityOrigin.h:
2784 2012-06-08 Martin Robinson <mrobinson@igalia.com>
2786 [Cairo] [TextureMapperGL] Nvidia card does not update WebGL texture when interacting with canvas
2787 https://bugs.webkit.org/show_bug.cgi?id=87797
2789 Reviewed by Philippe Normand.
2791 No new tests. WebGL is already covered by WebGL tests and this
2792 bug is only present on certain hardware.
2794 After resolving multisampling before drawing the texture via the
2795 TextureMapper, first rebind the multisampling framebuffer. This ensures
2796 that the texture isn't active in two framebuffers at a time.
2798 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
2799 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Rebind the multisampling
2802 2012-06-08 Alexey Proskuryakov <ap@apple.com>
2804 <rdar://problem/11412294> Add appropriate iOS default font settings
2806 Reviewed by Dan Bernstein.
2808 * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
2810 2012-06-08 Charles Wei <charles.wei@torchmobile.com.cn>
2812 IndexedDB: Transactions without any request scheduled should abort itself.
2813 https://bugs.webkit.org/show_bug.cgi?id=88052
2815 Reviewed by Kentaro Hara.
2817 This is needed for indexedDB to make it work for JSC. We need to clean up all the
2818 pending transactions(transactions without any request scheduled) when leaving Javascript context.
2820 Manually tested using the existing test LayoutTests/storage/indexeddb/tutorial.html
2822 * bindings/js/JSMainThreadExecState.cpp:
2824 (WebCore::JSMainThreadExecState::didLeaveScriptContext):
2825 * bindings/js/JSMainThreadExecState.h:
2826 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2827 (JSMainThreadExecState):
2829 2012-06-08 Ryosuke Niwa <rniwa@webkit.org>
2831 Crash in WebCore::CompositeEditCommand::breakOutOfEmptyListItem
2832 https://bugs.webkit.org/show_bug.cgi?id=88361
2834 Reviewed by Levi Weintraub.
2836 Use RefPtr instead of raw pointers across DOM mutations.
2838 No tests are added for the lack of a reliable reduction.
2840 * editing/CompositeEditCommand.cpp:
2841 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2843 2012-06-08 Sheriff Bot <webkit.review.bot@gmail.com>
2845 Unreviewed, rolling out r119514.
2846 http://trac.webkit.org/changeset/119514
2847 https://bugs.webkit.org/show_bug.cgi?id=88664
2849 Broke JSFiddle.net (Requested by arv on #webkit).
2851 * bindings/v8/V8DOMWindowShell.cpp:
2852 (WebCore::V8DOMWindowShell::initContextIfNeeded):
2853 * bindings/v8/WorkerContextExecutionProxy.cpp:
2854 (WebCore::WorkerContextExecutionProxy::initIsolate):
2856 2012-06-08 Ryosuke Niwa <rniwa@webkit.org>
2858 Crash in WebCore::InsertParagraphSeparatorCommand::doApply
2859 https://bugs.webkit.org/show_bug.cgi?id=88108
2861 Reviewed by Levi Weintraub.
2863 Use NodeVector instead of walking through siblings as we mutate the DOM.
2865 No new tests are added since there is no reliable reduction.
2867 * editing/BreakBlockquoteCommand.cpp:
2868 (WebCore::BreakBlockquoteCommand::doApply):
2869 * editing/CompositeEditCommand.cpp:
2870 (WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent):
2872 * editing/CompositeEditCommand.h:
2873 (CompositeEditCommand):
2874 * editing/InsertParagraphSeparatorCommand.cpp:
2875 (WebCore::InsertParagraphSeparatorCommand::doApply):
2877 2012-06-08 David Grogan <dgrogan@chromium.org>
2879 IndexedDB: rename some instances of open to registerFrontendCallbacks
2880 https://bugs.webkit.org/show_bug.cgi?id=88611
2882 We should still make the change in the WebKit API.
2884 Reviewed by Tony Chang.
2886 No new tests, just a method rename.
2888 * Modules/indexeddb/IDBDatabase.cpp:
2889 (WebCore::IDBDatabase::registerFrontendCallbacks):
2890 * Modules/indexeddb/IDBDatabase.h:
2892 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2893 (WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
2894 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2895 (IDBDatabaseBackendImpl):
2896 * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2897 (IDBDatabaseBackendInterface):
2898 * Modules/indexeddb/IDBRequest.cpp:
2899 (WebCore::IDBRequest::onSuccess):
2901 2012-06-08 Dana Jansens <danakj@chromium.org>
2903 [chromium] Skip willDraw() and didDraw() on fully occluded layers
2904 https://bugs.webkit.org/show_bug.cgi?id=88435
2906 Reviewed by Adrienne Walker.
2908 Current willDraw() is called on all layers with non-empty
2909 visibleLayerRect and non-empty scissorRect. This excludes
2910 layers outside the viewport, but does not exclude occluded
2911 layers. We add a check for occlusion to calculateRenderPasses
2912 in order to avoid willDraw() when it will be culled anyway.
2914 We prevent didDraw() from being called for occluded layers, for
2915 which we did not call didDraw() by holding a vector of layers
2916 for which we did call willDraw(). This lets us avoid storing a
2917 flag on the layers, or computing occlusion again in
2920 Unit test: CCLayerTreeHostImplTest.willDrawNotCalledOnOccludedLayer
2922 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2923 (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2924 (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2925 (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
2926 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2928 (CCLayerTreeHostImpl):
2930 2012-06-08 Antonio Gomes <agomes@rim.com>
2932 EventHandler shouldn't schedule the fake mousemove event timer when scrolling on devices that don't have a mouse
2933 https://bugs.webkit.org/show_bug.cgi?id=88379
2935 Reviewed by James Robinson.
2937 Paraphrasing Andy Estes:
2938 "In <http://trac.webkit.org/changeset/119465> we stopped dispatching fake
2939 mousemove events when scrolling on devices that don't support mice. This event
2940 is dispatched on a timer, so one better would be to not even schedule the
2941 timer (rather than scheduling the timer but making it a no-op).
2943 No new tests, as no functionality has changed. We basically do not
2944 start a timer under a given circumstance instead of fire it, it times out,
2945 and we make the callback no-op when under the given circumstance.
2947 It is still possible though that we have the following scenario:
2948 - Setting::deviceSupportsMouse set as true;
2949 - we fire the timer;
2950 - before its callback gets executed (timed out) the setting gets toggled.
2951 So for sakeness, lets keep the check in both places.
2953 * page/EventHandler.cpp:
2954 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2955 (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2957 2012-06-08 James Robinson <jamesr@chromium.org>
2959 [chromium] Clean up some unnecessary LayerChromium.h includes
2960 https://bugs.webkit.org/show_bug.cgi?id=88599
2962 Reviewed by Adam Barth.
2964 Reworks test code slightly to use WebCore interfaces.
2966 * testing/Internals.cpp:
2967 (WebCore::Internals::setBackgroundBlurOnNode):
2969 2012-06-08 Erik Arvidsson <arv@chromium.org>
2971 [V8] Keep TextTrackList alive as long as its owner is alive
2972 https://bugs.webkit.org/show_bug.cgi?id=88541
2974 Reviewed by Adam Barth.
2976 Add a hidden reference from the owner to the text track list.
2978 Covered by existing tests.
2980 * Target.pri: Add V8TextTrackListCustom.cpp.
2981 * UseV8.cmake: Ditto.
2982 * WebCore.gypi: Ditto.
2983 * bindings/v8/V8HiddenPropertyName.h:
2985 * bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
2987 (WebCore::toV8): When the wrapper is created add a reference to the owner of the TextTrackList to the TextTrackList.
2988 * html/track/TextTrackList.idl:
2990 2012-06-08 Ian Vollick <vollick@chromium.org>
2992 [chromium] Accelerated animations should use WebTransformOperations
2993 https://bugs.webkit.org/show_bug.cgi?id=87686
2995 Reviewed by James Robinson.
2997 CCTransformKeyframe new owns a WebTransformOperations rather than a
2998 TransformOperations. LayerChromium's API has been changed so that
2999 LayerChromium::addAnimation should take only a CCActiveAnimation.
3000 GraphicsLayerChromium is new responsible for translating to
3001 WebTransformOperations and creating CCActiveAnimations. Tests that use
3002 the public API (that is, they call addAnimation with KeyframeValueList
3003 and Animation arguments) have been moved to GraphicsLayerChromiumTest.
3006 GraphicsLayerChromiumTest.createOpacityAnimation
3007 GraphicsLayerChromiumTest.createTransformAnimation
3008 GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
3009 GraphicsLayerChromiumTest.createTransformAnimationWithSingularMatrix
3010 GraphicsLayerChromiumTest.createReversedAnimation
3011 GraphicsLayerChromiumTest.createAlternatingAnimation
3012 GraphicsLayerChromiumTest.createReversedAlternatingAnimation
3015 * platform/graphics/chromium/AnimationTranslationUtil.cpp: Added.
3017 (WebCore::toWebTransformOperations):
3018 (WebCore::appendKeyframe):
3019 (WebCore::CCKeyframedTransformAnimationCurve):
3020 (WebCore::createActiveAnimation):
3021 * platform/graphics/chromium/AnimationTranslationUtil.h: Added.
3023 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3024 (WebCore::GraphicsLayerChromium::addAnimation):
3025 * platform/graphics/chromium/LayerChromium.cpp:
3026 (WebCore::LayerChromium::addAnimation):
3027 * platform/graphics/chromium/LayerChromium.h:
3029 (WebCore::LayerChromium::bounds):
3031 * platform/graphics/chromium/LinkHighlight.cpp:
3032 (WebCore::LinkHighlight::LinkHighlight):
3033 * platform/graphics/chromium/cc/CCAnimationCurve.h:
3034 (CCTransformAnimationCurve):
3035 * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
3036 (WebCore::CCTransformKeyframe::create):
3037 (WebCore::CCTransformKeyframe::CCTransformKeyframe):
3038 (WebCore::CCTransformKeyframe::value):
3039 (WebCore::CCTransformKeyframe::clone):
3040 (WebCore::CCKeyframedTransformAnimationCurve::getValue):
3041 * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
3042 (CCTransformKeyframe):
3043 (CCKeyframedTransformAnimationCurve):
3044 * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3045 (WebCore::CCLayerAnimationController::removeAnimation):
3047 (WebCore::CCLayerAnimationController::addAnimation):
3048 (WebCore::CCLayerAnimationController::getActiveAnimation):
3049 (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
3050 (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
3051 (WebCore::CCLayerAnimationController::tickAnimations):
3052 * platform/graphics/chromium/cc/CCLayerAnimationController.h:
3053 (CCLayerAnimationControllerClient):
3054 (CCLayerAnimationController):
3055 * platform/graphics/chromium/cc/CCLayerImpl.h:
3056 (WebCore::CCLayerImpl::bounds):
3058 2012-06-08 No'am Rosenthal <noam.rosenthal@nokia.com>
3060 [Texmap] Accelerated versions of drop-shadow and blur filters
3061 https://bugs.webkit.org/show_bug.cgi?id=87695
3063 Reviewed by Kenneth Rohde Christiansen.
3065 Added shaders for blur and drop-shadow effects.
3066 The shaders use sampling of multiple coordinates and averaging them with normal-
3067 distribution to create a fast gaussian blur effect.
3069 Covered by existing tests in css3/filters.
3071 * platform/graphics/texmap/TextureMapperGL.cpp:
3072 (WebCore::TextureMapperGL::drawFiltered):
3073 Call the prepare function explicitly, with a size argument that's used to calculate
3074 some of the uniform values.
3076 * platform/graphics/texmap/TextureMapperLayer.cpp:
3077 (WebCore::TextureMapperLayer::intermediateSurfaceRect):
3078 The outsets of the effect have to be considered when calculating the intermediate rect.
3079 Otherwise the resulting image is scaled instead of outsetted.
3081 (WebCore::applyFilters):
3082 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
3083 (WebCore::StandardFilterProgram::StandardFilterProgram):
3084 Added the new shaders.
3086 (WebCore::StandardFilterProgram::prepare):
3087 (WebCore::TextureMapperShaderManager::getShaderForFilter):
3088 * platform/graphics/texmap/TextureMapperShaderManager.h:
3089 (StandardFilterProgram):
3091 2012-06-08 Dan Bernstein <mitz@apple.com>
3093 Tried to fix the build after r119844.
3095 * bindings/js/GCController.cpp:
3096 (WebCore::GCController::discardAllCompiledCode):
3098 2012-06-08 Mike West <mkwst@chromium.org>
3100 Add COMPILE_ASSERT to StyledElement to ensure it doesn't accidentally grow larger.
3101 https://bugs.webkit.org/show_bug.cgi?id=88627
3103 Reviewed by Adam Barth.
3105 No change in user-facing behavior.
3107 * dom/StyledElement.cpp:
3110 2012-06-08 Vsevolod Vlasov <vsevik@chromium.org>
3112 Web Inspector: Fix several compiler warnings and errors.
3113 https://bugs.webkit.org/show_bug.cgi?id=88660
3115 Reviewed by Pavel Feldman.
3117 Fixed several compiler warnings and errors.
3118 Removed isEmpty method from Object.prototype and made it static method on Object.
3120 * inspector/InjectedScriptExterns.js:
3121 * inspector/front-end/FileSystemModel.js:
3122 (WebInspector.FileSystemModel.prototype._detachFrame):
3123 * inspector/front-end/HeapSnapshot.js:
3124 (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
3125 * inspector/front-end/utilities.js:
3128 2012-06-08 Max Feil <mfeil@rim.com>
3130 [BlackBerry] Fix assertion failure introduced by bug 87551
3131 https://bugs.webkit.org/show_bug.cgi?id=88659
3133 Reviewed by Antonio Gomes.
3135 The determineRenderSlider() convenience function added in bug
3136 87551 made an assumption that wasn't always true. This didn't
3137 cause a functional error but it caused an assertion failure,
3138 which indicates a problem with the code. PR164142.
3140 No new tests because this case is already covered by ASSERT's.
3142 * platform/blackberry/RenderThemeBlackBerry.cpp:
3143 (WebCore::determineRenderSlider):
3145 2012-06-08 Ion Rosca <rosca@adobe.com>
3147 Some overlay scrollbar API calls in ScrollAnimatorMac can lead to an assertion in RenderBox::mapAbsoluteToLocalPoint
3148 https://bugs.webkit.org/show_bug.cgi?id=74111
3150 Reviewed by Simon Fraser.
3152 Added zero-delay timer for AppKit scroll notification that can be called during layout.
3153 Manual test: ManualTests/scrollbar-crash-on-hide-scrolled-area.html
3154 This assertion does not fire when running layout tests. It can be easly reproduced using a debug build by loading the manual test page.
3156 * platform/mac/ScrollAnimatorMac.h:
3157 (ScrollAnimatorMac):
3158 * platform/mac/ScrollAnimatorMac.mm:
3159 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3160 (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
3161 (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
3163 (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
3165 2012-06-08 Renata Hodovan <reni@webkit.org>
3167 Adding few already supported features to the FeatureSet in DOMImplementation
3168 https://bugs.webkit.org/show_bug.cgi?id=86482
3170 Text, Filter and View features are already implemented but they
3171 are not added to the SVG11 feature set. This is corrected in this patch.
3173 Reviewed by Nikolas Zimmermann.
3175 No new testcase is needed because we already have one what checks the svg features via
3176 DOMImplementation (svg/custom/svg-features.html).
3178 * dom/DOMImplementation.cpp:
3179 (WebCore::isSVG11Feature):
3181 2012-06-08 Stephen Chenney <schenney@chromium.org>
3183 WebCore::ImageBuffer.cpp has broken color table code
3184 https://bugs.webkit.org/show_bug.cgi?id=80321
3186 Reviewed by Dirk Schulze.
3188 The code in ImageBuffer::transformColorSpace had two problems that are
3189 fixed by this patch.
3191 First, it was using member variables for data
3192 that is static constant. This is incredibly wasteful, as every
3193 ImageBuffer that is created (and we make a lot of them) gets its own
3194 copy of the LUT and the table is initialized again and again. The
3195 patch replaces this with a static local, with lazy evaluation, in
3196 the method that uses the tables.
3198 Second, the code for filling the table was mapping 255 to 254, thus
3199 reducing the intensity and alpha of every image it pushed through a
3202 Test: svg/filters/color-space-conversion.svg
3204 * platform/graphics/ImageBuffer.cpp:
3205 (WebCore::ImageBuffer::transformColorSpace):
3206 * platform/graphics/ImageBuffer.h:
3209 2012-06-08 Alexei Filippov <alexeif@chromium.org>
3211 Web Inspector: Better labels positioning on the memory pie chart
3212 https://bugs.webkit.org/show_bug.cgi?id=88652
3214 Reviewed by Vsevolod Vlasov.
3216 * inspector/front-end/NativeMemorySnapshotView.js:
3217 (WebInspector.NativeMemoryPieChart.prototype._paint.paintPercentAndLabel):
3218 (WebInspector.NativeMemoryPieChart.prototype._paint):
3220 2012-06-08 Bryan McQuade <bmcquade@google.com>
3222 Web Inspector: Annotate timeline records with a frame identifier
3223 https://bugs.webkit.org/show_bug.cgi?id=86406
3225 Reviewed by Vsevolod Vlasov.
3227 Tests: Updated existing layout tests.
3229 * inspector/InspectorController.cpp:
3230 (WebCore::InspectorController::InspectorController):
3231 * inspector/InspectorInstrumentation.cpp:
3232 (WebCore::frameForScriptExecutionContext):
3234 (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
3235 (WebCore::InspectorInstrumentation::didInstallTimerImpl):
3236 (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
3237 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
3238 (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
3239 (WebCore::InspectorInstrumentation::willDispatchEventImpl):
3240 (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
3241 (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
3242 (WebCore::InspectorInstrumentation::willFireTimerImpl):
3243 (WebCore::InspectorInstrumentation::willLayoutImpl):
3244 (WebCore::InspectorInstrumentation::willLoadXHRImpl):
3245 (WebCore::InspectorInstrumentation::willPaintImpl):
3246 (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
3247 (WebCore::InspectorInstrumentation::willSendRequestImpl):
3248 (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
3249 (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
3250 (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
3251 (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3252 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3253 (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3254 (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
3255 (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
3256 (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
3257 (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
3258 * inspector/InspectorInstrumentation.h:
3259 (InspectorInstrumentation):
3260 (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
3261 (WebCore::InspectorInstrumentation::didInstallTimer):
3262 (WebCore::InspectorInstrumentation::didRemoveTimer):
3263 (WebCore::InspectorInstrumentation::willCallFunction):
3264 (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
3265 (WebCore::InspectorInstrumentation::willDispatchEvent):
3266 (WebCore::InspectorInstrumentation::willEvaluateScript):
3267 (WebCore::InspectorInstrumentation::willFireTimer):
3268 (WebCore::InspectorInstrumentation::willLayout):
3269 (WebCore::InspectorInstrumentation::willLoadXHR):
3270 (WebCore::InspectorInstrumentation::willPaint):
3271 (WebCore::InspectorInstrumentation::willRecalculateStyle):
3272 (WebCore::InspectorInstrumentation::willReceiveResourceData):
3273 (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
3274 (WebCore::InspectorInstrumentation::willWriteHTML):
3275 (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
3276 (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
3277 (WebCore::InspectorInstrumentation::willFireAnimationFrame):
3278 * inspector/InspectorTimelineAgent.cpp:
3279 (WebCore::InspectorTimelineAgent::pushGCEventRecords):
3280 (WebCore::InspectorTimelineAgent::didBeginFrame):
3281 (WebCore::InspectorTimelineAgent::willCallFunction):
3282 (WebCore::InspectorTimelineAgent::willDispatchEvent):
3283 (WebCore::InspectorTimelineAgent::willLayout):
3284 (WebCore::InspectorTimelineAgent::willRecalculateStyle):
3285 (WebCore::InspectorTimelineAgent::willPaint):
3286 (WebCore::InspectorTimelineAgent::willComposite):
3287 (WebCore::InspectorTimelineAgent::willWriteHTML):
3288 (WebCore::InspectorTimelineAgent::didInstallTimer):
3289 (WebCore::InspectorTimelineAgent::didRemoveTimer):
3290 (WebCore::InspectorTimelineAgent::willFireTimer):
3291 (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
3292 (WebCore::InspectorTimelineAgent::willLoadXHR):
3293 (WebCore::InspectorTimelineAgent::willEvaluateScript):
3294 (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
3295 (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3296 (WebCore::InspectorTimelineAgent::willReceiveResourceData):
3297 (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
3298 (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3299 (WebCore::InspectorTimelineAgent::didTimeStamp):
3300 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3301 (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
3302 (WebCore::InspectorTimelineAgent::didRequestAnimationFrame):
3303 (WebCore::InspectorTimelineAgent::didCancelAnimationFrame):
3304 (WebCore::InspectorTimelineAgent::willFireAnimationFrame):
3305 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3306 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
3307 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3308 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3309 (WebCore::InspectorTimelineAgent::appendRecord):
3310 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
3311 (WebCore::InspectorTimelineAgent::pushCancelableRecord):
3312 (WebCore::InspectorTimelineAgent::commitCancelableRecords):
3313 * inspector/InspectorTimelineAgent.h:
3315 (WebCore::InspectorTimelineAgent::create):
3316 (InspectorTimelineAgent):
3317 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3318 (TimelineRecordEntry):
3319 * inspector/WorkerInspectorController.cpp:
3320 (WebCore::WorkerInspectorController::WorkerInspectorController):
3321 * inspector/front-end/TimelinePresentationModel.js:
3322 (WebInspector.TimelinePresentationModel.isEventDivider):
3323 (WebInspector.TimelinePresentationModel.Record):
3325 2012-06-08 Sheriff Bot <webkit.review.bot@gmail.com>
3327 Unreviewed, rolling out r119821.
3328 http://trac.webkit.org/changeset/119821
3329 https://bugs.webkit.org/show_bug.cgi?id=88648
3331 Seems to have regression on Mac (Requested by kinuko on
3335 (WebCore::File::File):
3336 (WebCore::File::lastModifiedDate):
3337 (WebCore::File::lastModifiedDateForBinding):
3339 (WebCore::File::captureSnapshot):
3343 * platform/FileMetadata.h:
3344 (WebCore::FileMetadata::FileMetadata):
3345 * platform/FileSystem.h:
3346 * platform/chromium/support/WebHTTPBody.cpp:
3347 (WebKit::WebHTTPBody::elementAt):
3348 * platform/network/BlobData.cpp:
3350 * platform/network/BlobData.h:
3352 (WebCore::BlobDataItem::BlobDataItem):
3353 * platform/network/FormData.cpp:
3354 (WebCore::FormData::appendFile):
3355 * platform/network/cf/FormDataStreamCFNet.cpp:
3356 (WebCore::advanceCurrentStream):
3357 * platform/network/soup/ResourceHandleSoup.cpp:
3358 (WebCore::blobIsOutOfDate):
3360 2012-06-08 Kinuko Yasuda <kinuko@chromium.org>
3362 Unreviewed, removing duplicated entries in gyp.
3366 2012-06-08 Arko Saha <arko@motorola.com>
3368 Microdata: An element with an empty itemprop='' should not get listed in the .properties list.
3369 https://bugs.webkit.org/show_bug.cgi?id=88235
3371 Reviewed by Ryosuke Niwa.
3373 As per the specification change http://html5.org/r/6854, an element should be listed in .properties
3374 if the elelement has an attribute itemprop specified and the element has one or more property names.
3376 Test: fast/dom/MicroData/element-with-empty-itemprop.html
3378 * html/HTMLPropertiesCollection.cpp:
3379 (WebCore::HTMLPropertiesCollection::itemAfter):
3381 2012-06-07 Kinuko Yasuda <kinuko@chromium.org>
3383 File::lastModifiedDate should use NaN or separate boolean flag for null Date value
3384 https://bugs.webkit.org/show_bug.cgi?id=87826
3386 Reviewed by Kent Tamura.
3388 Test: http/tests/local/fileapi/file-last-modified-after-delete.html
3391 (WebCore::File::File):
3392 (WebCore::File::captureSnapshot):
3393 (WebCore::File::lastModifiedDate):
3394 (WebCore::File::lastModifiedDateForBinding): Removed.
3398 * platform/FileMetadata.h:
3399 (WebCore::FileMetadata::FileMetadata):
3400 * platform/FileSystem.h:
3401 * platform/chromium/support/WebHTTPBody.cpp:
3402 (WebKit::WebHTTPBody::elementAt):
3403 * platform/network/BlobData.h:
3404 (WebCore::BlobDataItem::doNotCheckFileChange): Removed.
3405 * platform/network/BlobData.cpp:
3406 * platform/network/cf/FormDataStreamCFNet.cpp:
3407 (WebCore::advanceCurrentStream):
3408 * platform/network/soup/ResourceHandleSoup.cpp:
3409 (WebCore::blobIsOutOfDate):
3411 2012-06-08 Kent Tamura <tkent@chromium.org>
3413 Move form-related functions of Document to FormController
3414 https://bugs.webkit.org/show_bug.cgi?id=88497
3416 Reviewed by Hajime Morita.
3418 A lot of files depend on Document.h. We had to build many files when we
3419 touched form-related features in Document.h or
3420 CheckedRadioButtons.h. This patch reduces such pain.
3422 No new tests. Just a refactoring.
3424 * CMakeLists.txt: Add FormController.cpp and/or FormController.h.
3425 * GNUmakefile.list.am: ditto.
3426 * Target.pri: ditto.
3427 * WebCore.gypi: ditto.
3428 * WebCore.vcproj/WebCore.vcproj: ditto.
3429 * WebCore.xcodeproj/project.pbxproj: ditto.
3431 * dom/Document.cpp: Removed form-releated features except the followings.
3432 (WebCore::Document::formController): Accessor for a FormController.
3433 (WebCore::Document::formElementsState):
3434 Just returns FormController::formElementsState().
3435 We don't create new FormController.
3436 (WebCore::Document::setStateForNewFormElements):
3437 Just returns FormController::setStateForNewFormElements().
3438 We don't create new FormController if the specified vector is empty.
3440 Moved form-related functions to FormController.
3442 * html/FormController.cpp: Added. Moved from Document.cpp.
3443 * html/FormController.h: Added. Moved from Document.h
3445 * html/FormAssociatedElement.cpp: Use Document::formController().
3446 (WebCore::FormAssociatedElement::didMoveToNewDocument):
3447 (WebCore::FormAssociatedElement::insertedInto):
3448 (WebCore::FormAssociatedElement::removedFrom):
3449 (WebCore::FormAssociatedElement::formAttributeChanged):
3450 * html/HTMLFormControlElementWithState.cpp: Use Document::formController().
3451 (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
3452 (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):