1 2013-02-08 Dean Jackson <dino@apple.com>
3 Attempted Mac and GTK build fix after r142333.
5 * rendering/RenderSnapshottedPlugIn.h: Include InlineBox.h.
7 2013-02-08 Andy Estes <aestes@apple.com>
9 Restore pre-r118852 behavior for EllipsisBox::nodeAtPoint()
10 https://bugs.webkit.org/show_bug.cgi?id=109277
12 Reviewed by Simon Fraser.
14 Test: fast/flexbox/line-clamp-link-after-ellipsis.html
16 Roll out r118852. Enough time has passed that this can't be done
17 mechanically, so transcribe the old method definition to current
20 * rendering/EllipsisBox.cpp:
21 (WebCore::EllipsisBox::markupBox): EllipsisBox no longer has
22 m_markupBox, so break the logic for finding the markup box from
23 paintMarkupBox() into its own function.
24 (WebCore::EllipsisBox::paintMarkupBox): Call markupBox().
25 (WebCore::EllipsisBox::nodeAtPoint): Transcribe the pre-r118852 implementation.
26 * rendering/EllipsisBox.h:
27 (EllipsisBox): Declare markupBox().
29 2013-02-08 Eric Carlson <eric.carlson@apple.com>
31 [Mac] In-band closed caption tracks are not always initialized correctly
32 https://bugs.webkit.org/show_bug.cgi?id=109323
34 Reviewed by Dean Jackson.
36 No new tests, this fix makes existing tests less flakey.
38 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
39 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Create and configure legible output
40 here instad of in tracksChanged.
41 (WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Do nothing in a build with
42 in-band track support.
43 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Move legible output creation to
44 createAVPlayerItem, don't set look at track media type to see if the movie has captions
45 when we have support for in-band captions.
47 2013-02-08 Dean Jackson <dino@apple.com>
49 Snapshotted plug-in should use shadow root
50 https://bugs.webkit.org/show_bug.cgi?id=108284
52 Reviewed by Simon Fraser.
54 A snapshotted plugin needs to indicate to the user that it can be clicked
55 to be restarted. Previously this was done with an image that had embedded
56 text. Instead, we now use an internal shadow root to embed some markup that
57 will display instructions that can be localised.
59 The UA stylesheet for plug-ins provides a default styling for the label, which
60 can be overridden by ports.
62 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
63 since it is only responsible for drawing a paused plug-in. The snapshot creation
64 can work with the default renderer, but a shadow root requires something like
65 RenderBlock in order to draw its children. We swap from one renderer to another when
66 necessary either by creating the shadow root or by explicitly detaching and attaching
69 Unfortunately this is difficult to test, because the snapshotting requires
70 time to execute, and also a PluginView to be instantiated.
73 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
75 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
76 * platform/LocalizedStrings.h:
77 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
78 * platform/chromium/LocalizedStringsChromium.cpp:
79 * platform/efl/LocalizedStringsEfl.cpp:
80 * platform/gtk/LocalizedStringsGtk.cpp:
81 * platform/qt/LocalizedStringsQt.cpp:
83 * html/HTMLPlugInElement.cpp:
84 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
85 that RenderSnapshottedPlugIn no longer is an embedded object.
87 * html/HTMLPlugInImageElement.cpp:
88 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
89 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
90 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
91 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
92 a renderer, otherwise use the typical plug-in path.
93 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
94 need to give it to the renderer.
95 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
96 * html/HTMLPlugInImageElement.h:
97 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
98 should show immediately.
99 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
100 to swap to the Shadow Root.
101 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
102 in being recreated. Make sure we reattach so that a plugin renderer will be created.
103 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
104 displayState for snapshots.
105 * html/HTMLPlugInImageElement.h:
106 (HTMLPlugInImageElement): The new methods listed above.
107 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
108 a snapshot should be immediately labeled.
110 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
112 * rendering/RenderSnapshottedPlugIn.cpp:
113 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
114 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
115 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
116 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
117 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
118 (WebCore::RenderSnapshottedPlugIn::getCursor):
119 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
120 * rendering/RenderSnapshottedPlugIn.h:
121 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
123 2013-02-08 Kentaro Hara <haraken@chromium.org>
125 {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator should be in FocusEvent.cpp
126 https://bugs.webkit.org/show_bug.cgi?id=109265
128 Reviewed by Dimitri Glazkov.
130 Conventionally we put XXXEventDispatchMediator to XXXEvent.cpp.
131 We should move {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator to FocusEvent.cpp.
133 No tests. No change in behavior.
135 * dom/EventDispatchMediator.cpp:
136 * dom/EventDispatchMediator.h:
137 * dom/FocusEvent.cpp:
138 (WebCore::FocusEventDispatchMediator::create):
140 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
141 (WebCore::FocusEventDispatchMediator::dispatchEvent):
142 (WebCore::BlurEventDispatchMediator::create):
143 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
144 (WebCore::BlurEventDispatchMediator::dispatchEvent):
145 (WebCore::FocusInEventDispatchMediator::create):
146 (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
147 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
148 (WebCore::FocusOutEventDispatchMediator::create):
149 (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
150 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
153 (FocusEventDispatchMediator):
154 (BlurEventDispatchMediator):
155 (FocusInEventDispatchMediator):
156 (FocusOutEventDispatchMediator):
160 2013-02-08 Jer Noble <jer.noble@apple.com>
162 Unreviewed build fix. MSVC (and other compilers) need a default: case in switch statement.
164 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
165 (WebCore::notificationName):
167 2013-02-08 Jer Noble <jer.noble@apple.com>
169 Bring WebKit up to speed with latest Encrypted Media spec.
170 https://bugs.webkit.org/show_bug.cgi?id=97037
172 Reviewed by Eric Carlson.
174 The most recent version of the Encrypted Media Extensions spec breaks functionality out of the
175 HTMLMediaElement and into new MediaKeys and MediaKeySession classes. Since the CDM functionality
176 has been pulled out of the media element, we create a proxy CDM class and factory system for
177 creating specific CDM key system implementations. The spec also breaks out MediaKeyEvent
178 into distinct event classes, MediaKeyNeededEvent and MediaKeyMessageEvent, for needkey and
179 keymessage events, respectively.
181 Tests: media/encrypted-media/encrypted-media-v2-events.html
182 media/encrypted-media/encrypted-media-v2-syntax.html
184 CDM is a proxy class (a la MediaPlayer) for a specific CDMPrivateInterface implementation. A CDM
185 implementation is registered with the CDMFactory and will be created if that implementation supports
186 the key system passed into the MediaKeys constructor. CDMSession is a pure-virtual interface exposed
187 by concrete CDMPrivate subclasses. Its lifetime is owned by MediaKeySession.
188 * Modules/encryptedmedia/CDM.cpp: Added.
189 (WebCore::installedCDMFactories): Initialize all the known CDM subtypes. Ports will add CDM implementations here.
190 (WebCore::CDM::registerCDMFactory): Registers a new CDMFactory using the passed in function pointers.
191 (WebCore::CDMFactoryForKeySystem): Return the first CDM factory which supports the requested key system.
192 (WebCore::CDM::supportsKeySystem): Walk the installed CDMs and ask if the given key system is supported.
193 (WebCore::CDM::supportsKeySystemMIMETypeAndCodec): Ditto, with an additional MIME type and codec string.
194 (WebCore::CDM::create): Simple constructor wrapper.
195 (WebCore::CDM::CDM): Simple constructor; calls bestCDMForKeySystem() to create it's private implementation.
196 (WebCore::CDM::~CDM): Simple destructor.
197 (WebCore::CDM::createSession): Creates a new CDMSession.
198 * Modules/encryptedmedia/CDM.h: Added.
199 (WebCore::CDM::keySystem): Simple accessor for m_keySystem.
200 (WebCore::CDMSession::CDMSession): Simple constructor.
201 (WebCore::CDMSession::~CDMSession): Simple destructor.
202 * Modules/encryptedmedia/CDMPrivate.h: Added.
203 (WebCore::CDMPrivateInterface::CDMPrivateInterface): Simple constructor.
204 (WebCore::CDMPrivateInterface::~CDMPrivateInterface): Simple destructor.
206 The new classes, MediaKeyMessageEvent and MediaKeyNeededEvent, take distinct subsets of the initializers of
207 the original MediaKeyMessageEvent.
208 * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.cpp.
209 (WebCore::MediaKeyMessageEventInit::MediaKeyMessageEventInit): Initializer now only takes message and destinationURL
211 (WebCore::MediaKeyMessageEvent::MediaKeyMessageEvent): Simple constructor.
212 (WebCore::MediaKeyMessageEvent::~MediaKeyMessageEvent): Simple destructor.
213 (WebCore::MediaKeyMessageEvent::interfaceName): Standard interfaceName.
214 * Modules/encryptedmedia/MediaKeyMessageEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
215 (WebCore::MediaKeyMessageEvent::create): Simple construction wrapper.
216 (WebCore::MediaKeyMessageEvent::message): Simple accessor for m_message.
217 (WebCore::MediaKeyMessageEvent::destinationURL): Simple accessor for m_destinationURL.
218 * Modules/encryptedmedia/MediaKeyMessageEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
219 * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.h.
220 (WebCore::MediaKeyNeededEventInit::MediaKeyNeededEventInit): Initializer now only takes initData parameter.
221 (WebCore::MediaKeyNeededEvent::MediaKeyNeededEvent): Simple constructor.
222 (WebCore::MediaKeyNeededEvent::~MediaKeyNeededEvent): Simple destructor.
223 (WebCore::MediaKeyNeededEvent::interfaceName): Standard interfaceName.
224 * Modules/encryptedmedia/MediaKeyNeededEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
225 (WebCore::MediaKeyNeededEvent::create): Simple construction wrapper.
226 (WebCore::MediaKeyNeededEvent::initData): Simple accessor for m_initData.
227 * Modules/encryptedmedia/MediaKeyNeededEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
229 MediaKeySession is a new class that maps keys and key requests to a given session ID:
230 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
231 (WebCore::MediaKeySession::create): Simple construction wrapper.
232 (WebCore::MediaKeySession::MediaKeySession): Simple constructor.
233 (WebCore::MediaKeySession::~MediaKeySession): Simple destructor; calls close().
234 (WebCore::MediaKeySession::setError): Simple setter for m_error;
235 (WebCore::MediaKeySession::close): Tell the CDM to clear any saved session keys.
236 (WebCore::MediaKeySession::generateKeyRequest): Start a one-shot timer, handled in keyRequestTimerFired.
237 (WebCore::MediaKeySession::keyRequestTimerFired): Follow the steps in the spec; ask the CDM to generate a key request.
238 (WebCore::MediaKeySession::addKey): Start a one-shot timer, handled in addKeyTimerFired.
239 (WebCore::MediaKeySession::addKeyTimerFired): Follow the steps in the spec; provide the key data to the CDM.
240 * Modules/encryptedmedia/MediaKeySession.h: Added.
241 (WebCore::MediaKeySession::keySystem): Simple accessor for m_keySystem.
242 (WebCore::MediaKeySession::sessionId): Simple accessor for m_sessionId.
243 (WebCore::MediaKeySession::error): Simple accessor for m_error;
244 * Modules/encryptedmedia/MediaKeySession.idl:
246 MediaKeySession inherits from EventTarget, and must override the pure virtual functions in that class:
247 * Modules/encryptedmedia/MediaKeySession.cpp: Added.
248 (WebCore::MediaKeySession::interfaceName):
249 * Modules/encryptedmedia/MediaKeySession.h: Added.
250 (WebCore::MediaKeySession::refEventTarget):
251 (WebCore::MediaKeySession::derefEventTarget):
252 (WebCore::MediaKeySession::eventTargetData):
253 (WebCore::MediaKeySession::ensureEventTargetData):
254 (WebCore::MediaKeySession::scriptExecutionContext):
256 MediaKeys is a new class that encapsulates a CDM and a number of key sessions:
257 * Modules/encryptedmedia/MediaKeys.cpp: Added.
258 (WebCore::MediaKeys::create): Throw an exception if the key system parameter is unsupported; create a CDM object
259 and a new MediaKeys session.
260 (WebCore::MediaKeys::MediaKeys): Simple constructor.
261 (WebCore::MediaKeys::~MediaKeys): Simple destructor.
262 (WebCore::MediaKeys::createSession): Follow the spec and create a new key session.
263 * Modules/encryptedmedia/MediaKeys.h: Added.
264 * Modules/encryptedmedia/MediaKeys.idl: Copied from Source/WebCore/html/MediaError.idl.
266 Provide a new interface to HTMLMediaElement for MediaPlayer which does not require a sessionId or a key system:
267 * html/HTMLMediaElement.cpp:
268 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
269 * platform/graphics/MediaPlayer.cpp:
270 (WebCore::MediaPlayer::keyNeeded):
272 MediaKeyError now has a systemCode parameter and member variable.
273 * html/MediaKeyError.h:
274 (WebCore::MediaKeyError::create): Take a systemCode parameter with a default (0) value.
275 (WebCore::MediaKeyError::MediaKeyError): Ditto.
276 (WebCore::MediaKeyError::systemCode): Simple accessor for m_systemCode.
277 * html/MediaKeyError.idl:
279 Add new methods to HTMLMediaElement to support MediaKeys. Support different initializer
280 for the MediaKeyNeededEvent.
281 * html/HTMLMediaElement.cpp:
282 (WebCore::HTMLMediaElement::setMediaKeys): Simple setter for m_mediaKeys.
283 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): This version takes fewer parameters
284 than the deprecated version.
285 * html/HTMLMediaElement.h:
286 (WebCore::HTMLMediaElement::mediaKeys): Simple accessor for m_mediaKeys.
287 * html/HTMLMediaElement.idl: Add the mediaKeys attribute.
289 Add an ENABLE(ENCRYPTED_MEDIA_V2) check to the existing ENABLE(ENCRYPTED_MEDIA) one:
291 * html/MediaError.idl:
292 * platform/graphics/MediaPlayer.cpp:
293 (WebCore::bestMediaEngineForTypeAndCodecs):
294 (WebCore::MediaPlayer::supportsType):
295 * platform/graphics/MediaPlayer.h:
296 (WebCore::MediaPlayer::keyNeeded): This version takes fewer parameters than the
299 Support the new version of canPlayType which takes an extra parameter:
300 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
301 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
302 (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
303 (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType):
304 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
305 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
306 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
307 (WebCore::MediaPlayerPrivateQTKit::extendedSupportsType):
309 Add a mock CDM for use within DRT and WKTR to test the MediaKeys and MediaKeySession
311 * testing/Internals.cpp:
312 (WebCore::Internals::initializeMockCDM): Add the MockCDM class to the CDM factories.
313 * testing/Internals.h:
314 * testing/Internals.idl: Add the initializeMockCDM() method.
315 * testing/MockCDM.cpp: Added.
316 (WebCore::MockCDM::supportsKeySystem): Only supports the 'com.webcore.mock' key system.
317 (WebCore::MockCDM::supportsMIMEType): Only supports the 'video/mock' mime type.
318 (WebCore::initDataPrefix): Static method which returns a Uint8Array containing 'mock'.
319 (WebCore::keyPrefix): Static method which returns a Uint8Array containing 'key'.
320 (WebCore::keyRequest): Static method which returns a Uint8Array containing 'request'.
321 (WebCore::generateSessionId): Return a monotonically increasing number.
322 (WebCore::MockCDMSession::MockCDMSession): Simple constructor.
323 (WebCore::MockCDMSession::generateKeyRequest): Ignores the parameters and returns a keyRequest() array.
324 (WebCore::MockCDMSession::releaseKeys): No-op.
325 (WebCore::MockCDMSession::addKey): Checks that the key starts with the keyPrefix() array.
326 * testing/MockCDM.h: Added.
327 (WebCore::MockCDM::create):
328 (WebCore::MockCDM::~MockCDM): Simple destructor.
329 (WebCore::MockCDM::MockCDM): Simple constructor.
331 Add the new classes to the built system:
332 * Configurations/FeatureDefines.xcconfig:
333 * DerivedSources.make:
335 * WebCore.xcodeproj/project.pbxproj:
337 Miscelaneous changes:
338 * dom/EventNames.in: Add the two new event types, MediaKeyMessageEvent and MediaKeyNeededEvent.
339 * dom/EventTargetFactory.in: Add the new EventTarget, MediaKeySession.
340 * page/DOMWindow.idl: Add constructors for the new classes to the window object.
342 2013-02-08 Chris Fleizach <cfleizach@apple.com>
344 Refactor platform-specific code in SpeechSynthesis
345 https://bugs.webkit.org/show_bug.cgi?id=107414
347 Reviewed by Sam Weinig.
349 Refactor WebSpeech code to use a platform mechanism to provide access to platform resources.
351 * Modules/speech/DOMWindowSpeechSynthesis.cpp:
352 (WebCore::DOMWindowSpeechSynthesis::from):
353 * Modules/speech/SpeechSynthesis.cpp:
354 (WebCore::SpeechSynthesis::SpeechSynthesis):
356 (WebCore::SpeechSynthesis::voicesDidChange):
357 (WebCore::SpeechSynthesis::getVoices):
358 (WebCore::SpeechSynthesis::pending):
359 (WebCore::SpeechSynthesis::speaking):
360 (WebCore::SpeechSynthesis::paused):
361 (WebCore::SpeechSynthesis::speak):
362 (WebCore::SpeechSynthesis::cancel):
363 (WebCore::SpeechSynthesis::pause):
364 (WebCore::SpeechSynthesis::resume):
365 * Modules/speech/SpeechSynthesis.h:
368 (WebCore::SpeechSynthesis::didStartSpeaking):
369 (WebCore::SpeechSynthesis::didFinishSpeaking):
370 (WebCore::SpeechSynthesis::speakingErrorOccurred):
371 * Modules/speech/SpeechSynthesisUtterance.cpp:
372 (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
373 * Modules/speech/SpeechSynthesisUtterance.h:
374 (WebCore::SpeechSynthesisUtterance::text):
375 (WebCore::SpeechSynthesisUtterance::setText):
376 (WebCore::SpeechSynthesisUtterance::lang):
377 (WebCore::SpeechSynthesisUtterance::setLang):
378 (WebCore::SpeechSynthesisUtterance::voiceURI):
379 (WebCore::SpeechSynthesisUtterance::setVoiceURI):
380 (WebCore::SpeechSynthesisUtterance::volume):
381 (WebCore::SpeechSynthesisUtterance::setVolume):
382 (WebCore::SpeechSynthesisUtterance::rate):
383 (WebCore::SpeechSynthesisUtterance::setRate):
384 (WebCore::SpeechSynthesisUtterance::pitch):
385 (WebCore::SpeechSynthesisUtterance::setPitch):
386 (SpeechSynthesisUtterance):
387 (WebCore::SpeechSynthesisUtterance::platformUtterance):
388 * Modules/speech/SpeechSynthesisVoice.cpp:
389 (WebCore::SpeechSynthesisVoice::create):
390 (WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
391 * Modules/speech/SpeechSynthesisVoice.h:
392 (SpeechSynthesisVoice):
393 (WebCore::SpeechSynthesisVoice::voiceURI):
394 (WebCore::SpeechSynthesisVoice::name):
395 (WebCore::SpeechSynthesisVoice::lang):
396 (WebCore::SpeechSynthesisVoice::localService):
397 (WebCore::SpeechSynthesisVoice::isDefault):
398 * Modules/speech/mac/SpeechSynthesisMac.mm:
399 * WebCore.xcodeproj/project.pbxproj:
400 * platform/PlatformSpeechSynthesis.h: Added.
402 (PlatformSpeechSynthesis):
403 * platform/PlatformSpeechSynthesisUtterance.cpp: Added.
405 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
406 * platform/PlatformSpeechSynthesisUtterance.h: Added.
408 (PlatformSpeechSynthesisUtteranceClient):
409 (WebCore::PlatformSpeechSynthesisUtteranceClient::~PlatformSpeechSynthesisUtteranceClient):
410 (PlatformSpeechSynthesisUtterance):
411 (WebCore::PlatformSpeechSynthesisUtterance::text):
412 (WebCore::PlatformSpeechSynthesisUtterance::setText):
413 (WebCore::PlatformSpeechSynthesisUtterance::lang):
414 (WebCore::PlatformSpeechSynthesisUtterance::setLang):
415 (WebCore::PlatformSpeechSynthesisUtterance::voiceURI):
416 (WebCore::PlatformSpeechSynthesisUtterance::setVoiceURI):
417 (WebCore::PlatformSpeechSynthesisUtterance::volume):
418 (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
419 (WebCore::PlatformSpeechSynthesisUtterance::rate):
420 (WebCore::PlatformSpeechSynthesisUtterance::setRate):
421 (WebCore::PlatformSpeechSynthesisUtterance::pitch):
422 (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
423 * platform/PlatformSpeechSynthesisVoice.cpp: Added.
425 (WebCore::PlatformSpeechSynthesisVoice::create):
426 (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
427 * platform/PlatformSpeechSynthesisVoice.h: Added.
429 (PlatformSpeechSynthesisVoice):
430 (WebCore::PlatformSpeechSynthesisVoice::voiceURI):
431 (WebCore::PlatformSpeechSynthesisVoice::name):
432 (WebCore::PlatformSpeechSynthesisVoice::lang):
433 (WebCore::PlatformSpeechSynthesisVoice::localService):
434 (WebCore::PlatformSpeechSynthesisVoice::isDefault):
435 * platform/PlatformSpeechSynthesizer.cpp: Added.
437 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
438 * platform/PlatformSpeechSynthesizer.h: Added.
440 (PlatformSpeechSynthesizerClient):
441 (WebCore::PlatformSpeechSynthesizerClient::~PlatformSpeechSynthesizerClient):
442 (PlatformSpeechSynthesizer):
443 (WebCore::PlatformSpeechSynthesizer::voiceList):
444 * platform/mac/PlatformSpeechSynthesisMac.mm: Added.
446 (WebCore::PlatformSpeechSynthesis::create):
447 (WebCore::PlatformSpeechSynthesis::PlatformSpeechSynthesis):
448 (WebCore::PlatformSpeechSynthesis::platformSpeak):
449 * platform/mac/PlatformSpeechSynthesizerMac.mm: Added.
451 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
452 (WebCore::PlatformSpeechSynthesizer::speak):
454 2013-02-08 Dean Jackson <dino@apple.com>
456 Put snapshotting label text into localizable strings
457 https://bugs.webkit.org/show_bug.cgi?id=108268
459 Reviewed by Simon Fraser.
461 In preparation for a snapshotted plug-in using a ShadowRoot, allow
462 its label to be localized.
464 * English.lproj/Localizable.strings:
465 * platform/LocalizedStrings.cpp:
466 (WebCore::snapshottedPlugInLabelTitle): New method for returning title.
467 (WebCore::snapshottedPlugInLabelSubtitle): New method for returning subtitle.
468 * platform/LocalizedStrings.h:
470 2013-02-08 Dean Jackson <dino@apple.com>
472 Do not register autostart for plugins from file:// (or nowhere)
473 https://bugs.webkit.org/show_bug.cgi?id=108271
475 Reviewed by Tim Horton.
477 If the page url origin is treated as a local URL, don't attempt
478 to add it to the auto-start list.
480 * html/HTMLPlugInImageElement.cpp:
481 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
483 2013-02-08 Adam Barth <abarth@webkit.org>
485 Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
486 https://bugs.webkit.org/show_bug.cgi?id=107190
488 Reviewed by Eric Seidel.
490 This patch replaces the parser map with WeakPtr. We now use WeakPtrs to
491 communicate from the main thread to the background thread. (We were
492 already using WeakPtrs to communicate from the background thread to the
493 main thread.) This change lets us remove a bunch of boilerplate code.
495 * html/parser/BackgroundHTMLParser.cpp:
496 (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
497 (WebCore::BackgroundHTMLParser::stop):
499 * html/parser/BackgroundHTMLParser.h:
500 (WebCore::BackgroundHTMLParser::create):
501 (BackgroundHTMLParser):
502 * html/parser/HTMLDocumentParser.cpp:
503 (WebCore::HTMLDocumentParser::didFailSpeculation):
504 (WebCore::HTMLDocumentParser::startBackgroundParser):
505 (WebCore::HTMLDocumentParser::stopBackgroundParser):
506 (WebCore::HTMLDocumentParser::append):
507 (WebCore::HTMLDocumentParser::finish):
508 * html/parser/HTMLDocumentParser.h:
510 (HTMLDocumentParser):
512 2013-02-07 Roger Fong <roger_fong@apple.com>
514 VS2010 WebCore TestSupport project.
515 https://bugs.webkit.org/show_bug.cgi?id=107034.
517 Reviewed by Brent Fulgham.
519 * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Added.
520 * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Added.
522 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
524 [GTK][AC] GraphicsLayerActor code clean up after clutter version up.
525 https://bugs.webkit.org/show_bug.cgi?id=109304
527 Reviewed by Gustavo Noronha Silva.
529 This patch cleans up GraphicsLayerActor functions by using new clutter apis
530 and makes existing functions simple & readable.
532 No new tests since no change in functionality
534 * platform/graphics/clutter/GraphicsLayerActor.cpp:
535 (_GraphicsLayerActorPrivate):
536 (graphicsLayerActorApplyTransform):
537 (graphicsLayerActorPaint):
538 (graphicsLayerActorDraw):
539 (graphicsLayerActorUpdateTexture):
541 (graphicsLayerActorNew):
542 (graphicsLayerActorInvalidateRectangle):
543 (graphicsLayerActorSetTransform):
544 (graphicsLayerActorSetAnchorPoint):
545 (graphicsLayerActorGetAnchorPoint):
546 (graphicsLayerActorSetScrollPosition):
547 * platform/graphics/clutter/PlatformClutterAnimation.h:
549 2013-02-08 Harald Alvestrand <hta@google.com>
551 Fix and test for missing return statement
553 RTCPeerConnection.getStats() failed when remote stats were instantiated.
554 https://bugs.webkit.org/show_bug.cgi?id=109292
556 Reviewed by Adam Barth.
558 Tested by extending the existing mock's behaviour.
560 * Modules/mediastream/RTCStatsReport.cpp:
561 (WebCore::RTCStatsReport::addElement):
563 2013-02-08 Anton Vayvod <avayvod@chromium.org>
565 [Text Autosizing] Split isAutosizingCluster into three independent checks
566 https://bugs.webkit.org/show_bug.cgi?id=109093
568 Refactoring to create more flexible version of isAutosizingCluster since there're more types
569 of autosizing cluster now: narrower than the parent cluster, wider than the parent cluster
570 and the one that doesn't depend on the parent cluster.
572 Reviewed by Kenneth Rohde Christiansen.
574 Refactoring, no test changes.
576 * rendering/TextAutosizer.cpp:
578 (WebCore::TextAutosizer::isNarrowDescendant):
580 Separate check for the container to be of the narrow-descendant type. Was a part of
581 isAutosizingCluster().
583 (WebCore::TextAutosizer::isWiderDescendant):
585 Separate check for the container to be of the wider-descendant type. Was a part of
586 isAutosizingCluster().
588 (WebCore::TextAutosizer::isIndependentDescendant):
590 Separate check for the container to be autosized separately from the ancestor cluster.
591 Checks for conditions independent of the aforementioned cluster.
593 (WebCore::TextAutosizer::isAutosizingCluster):
595 Handy method to check all separate conditions together.
597 (WebCore::TextAutosizer::processSubtree):
598 (WebCore::TextAutosizer::processCluster):
599 (WebCore::TextAutosizer::processContainer):
600 (WebCore::TextAutosizer::clusterShouldBeAutosized):
601 (WebCore::TextAutosizer::measureDescendantTextWidth):
602 (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
604 The methods above were updated to use new functions/arguments.
606 * rendering/TextAutosizer.h:
608 Updated/added method definitions.
610 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
612 Web Inspector: Extension sever should use Workspace.projectForType() instead of Workspace.project()
613 https://bugs.webkit.org/show_bug.cgi?id=109301
615 Reviewed by Alexander Pavlov.
617 * inspector/front-end/ExtensionServer.js:
618 (WebInspector.ExtensionServer.prototype._onGetPageResources):
620 2013-02-04 Yury Semikhatsky <yurys@chromium.org>
622 Web Inspector: simplify Memory.getDOMNodeCount implementation
623 https://bugs.webkit.org/show_bug.cgi?id=108821
625 Reviewed by Alexander Pavlov.
627 Removed Memory.getDOMNodeCount command from the protocol. Memory.getDOMCounters
628 should be used instead.
630 * inspector/Inspector.json:
631 * inspector/InspectorMemoryAgent.cpp:
632 * inspector/InspectorMemoryAgent.h:
633 (InspectorMemoryAgent):
635 2013-02-08 Yury Semikhatsky <yurys@chromium.org>
637 Web Inspector: refactor MemoryStatistics.js
638 https://bugs.webkit.org/show_bug.cgi?id=109299
640 Reviewed by Vsevolod Vlasov.
642 Extracted functionality specific to DOM counter graphs drawing into
643 separate methods on MemoryStatistics class.
644 Introduced CounterUIBase base class for DOMCounterUI that contains
645 functionality which can be shared with native memory graph.
647 * inspector/front-end/MemoryStatistics.js:
648 (WebInspector.MemoryStatistics):
649 (WebInspector.CounterUIBase):
650 (WebInspector.CounterUIBase.prototype.updateCurrentValue):
651 (WebInspector.CounterUIBase.prototype.clearCurrentValueAndMarker):
652 (WebInspector.CounterUIBase.prototype.get visible):
653 (WebInspector.DOMCounterUI):
654 (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
655 (WebInspector.MemoryStatistics.prototype._onMouseOut):
656 (WebInspector.MemoryStatistics.prototype._clearCurrentValueAndMarker):
657 (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
658 (WebInspector.MemoryStatistics.prototype._updateCurrentValue):
659 (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
660 (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
661 (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
662 (WebInspector.MemoryStatistics.prototype._drawMarker):
663 (WebInspector.MemoryStatistics.prototype._clear):
664 (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
666 2013-02-08 Mike West <mkwst@chromium.org>
668 Add a new IGNORE_EXCEPTION helper to ignore ExceptionCodes when they are expected but uninteresting
669 https://bugs.webkit.org/show_bug.cgi?id=108771
671 Reviewed by Eric Seidel.
673 In cases where the ExceptionCode passed into a function is completely
674 ignored, this patch replaces it with a new IGNORE_EXCEPTION macro. This
675 makes our expectations about possible exceptions (or lack thereof)
676 explicit, rather than relying on implicit assumptions about whether a
677 variable is intentionally uninitialized or not. It also removes
678 knowledge about the internals of ExceptionCodes (that they're currently
679 ints, for instance) from code that shouldn't care, which will help with
682 The implementation is entirely based upon ASSERT_NO_EXCEPTION, and
683 shouldn't have any visible effect on the web. As long as all the
684 current tests pass, we're good.
686 * Modules/indexeddb/IDBRequest.cpp:
687 (WebCore::IDBRequest::dispatchEvent):
688 (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
689 * Modules/indexeddb/IDBTransaction.cpp:
690 (WebCore::IDBTransaction::stop):
691 * Modules/websockets/WebSocketChannel.cpp:
692 (WebCore::WebSocketChannel::processBuffer):
694 (WebCore::Document::processHttpEquiv):
695 * dom/ExceptionCodePlaceholder.h:
698 (WebCore::Node::normalize):
700 (WebCore::Text::replaceWholeText):
701 * editing/AlternativeTextController.cpp:
702 (WebCore::AlternativeTextController::insertDictatedText):
703 * editing/AppendNodeCommand.cpp:
704 (WebCore::AppendNodeCommand::doApply):
705 (WebCore::AppendNodeCommand::doUnapply):
706 * editing/CompositeEditCommand.cpp:
707 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt):
708 * editing/DeleteFromTextNodeCommand.cpp:
709 (WebCore::DeleteFromTextNodeCommand::doUnapply):
710 * editing/Editor.cpp:
711 (WebCore::dispatchEditableContentChangedEvents):
712 (WebCore::Editor::applyEditingStyleToElement):
713 * editing/EditorCommand.cpp:
714 (WebCore::executeFormatBlock):
715 * editing/FormatBlockCommand.cpp:
716 (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
717 * editing/InsertIntoTextNodeCommand.cpp:
718 (WebCore::InsertIntoTextNodeCommand::doApply):
719 (WebCore::InsertIntoTextNodeCommand::doUnapply):
720 * editing/InsertListCommand.cpp:
721 (WebCore::InsertListCommand::doApplyForSingleParagraph):
722 * editing/InsertNodeBeforeCommand.cpp:
723 (WebCore::InsertNodeBeforeCommand::doApply):
724 (WebCore::InsertNodeBeforeCommand::doUnapply):
725 * editing/RemoveCSSPropertyCommand.cpp:
726 (WebCore::RemoveCSSPropertyCommand::doApply):
727 (WebCore::RemoveCSSPropertyCommand::doUnapply):
728 * editing/RemoveNodeCommand.cpp:
729 (WebCore::RemoveNodeCommand::doApply):
730 (WebCore::RemoveNodeCommand::doUnapply):
731 * editing/ReplaceSelectionCommand.cpp:
732 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
733 * editing/TextIterator.cpp:
734 (WebCore::TextIterator::getLocationAndLengthFromRange):
735 * editing/WrapContentsInDummySpanCommand.cpp:
736 (WebCore::WrapContentsInDummySpanCommand::executeApply):
737 (WebCore::WrapContentsInDummySpanCommand::doUnapply):
738 * editing/htmlediting.cpp:
739 (WebCore::comparePositions):
740 * editing/markup.cpp:
741 (WebCore::highestAncestorToWrapMarkup):
742 * html/FTPDirectoryDocument.cpp:
743 (WebCore::FTPDirectoryDocumentParser::appendEntry):
744 (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
745 (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
746 (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
747 * html/HTMLMediaElement.cpp:
748 (WebCore::HTMLMediaElement::rewind):
749 (WebCore::HTMLMediaElement::returnToRealtime):
750 (WebCore::HTMLMediaElement::playInternal):
751 (WebCore::HTMLMediaElement::percentLoaded):
752 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
753 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
754 (WebCore::HTMLMediaElement::applyMediaFragmentURI):
755 * html/HTMLOutputElement.cpp:
756 (WebCore::HTMLOutputElement::setTextContentInternal):
757 * html/HTMLSelectElement.cpp:
758 (WebCore::HTMLSelectElement::remove):
759 * html/HTMLTableElement.cpp:
760 (WebCore::HTMLTableElement::createTHead):
761 (WebCore::HTMLTableElement::deleteTHead):
762 (WebCore::HTMLTableElement::createTFoot):
763 (WebCore::HTMLTableElement::deleteTFoot):
764 (WebCore::HTMLTableElement::createCaption):
765 (WebCore::HTMLTableElement::deleteCaption):
766 * html/HTMLTextAreaElement.cpp:
767 (WebCore::HTMLTextAreaElement::setDefaultValue):
768 * html/ImageDocument.cpp:
769 (WebCore::ImageDocument::createDocumentStructure):
770 * html/InputType.cpp:
771 (WebCore::InputType::stepUpFromRenderer):
772 * html/MediaController.cpp:
773 (MediaController::bringElementUpToSpeed):
774 (MediaController::asyncEventTimerFired):
775 * html/MediaDocument.cpp:
776 (WebCore::MediaDocumentParser::createDocumentStructure):
777 (WebCore::MediaDocument::replaceMediaElementTimerFired):
778 * html/PluginDocument.cpp:
779 (WebCore::PluginDocumentParser::createDocumentStructure):
780 * html/RangeInputType.cpp:
781 (WebCore::RangeInputType::handleKeydownEvent):
782 * html/TimeRanges.cpp:
783 (TimeRanges::contain):
784 (TimeRanges::nearest):
785 * html/canvas/CanvasRenderingContext2D.cpp:
786 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
787 * html/shadow/MediaControlElementTypes.cpp:
788 (WebCore::MediaControlSeekButtonElement::seekTimerFired):
789 * html/shadow/MediaControlElements.cpp:
790 (WebCore::MediaControlPanelElement::setPosition):
791 (WebCore::MediaControlPanelElement::resetPosition):
792 (WebCore::MediaControlStatusDisplayElement::update):
793 (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
794 (WebCore::MediaControlTimelineElement::defaultEventHandler):
795 * html/shadow/MediaControls.cpp:
796 (WebCore::MediaControls::updateCurrentTimeDisplay):
797 (WebCore::MediaControls::createTextTrackDisplay):
798 * html/shadow/MediaControlsApple.cpp:
799 (WebCore::MediaControlsApple::updateCurrentTimeDisplay):
800 * html/shadow/MediaControlsBlackBerry.cpp:
801 (WebCore::MediaControlEmbeddedPanelElement::setPosition):
802 (WebCore::MediaControlEmbeddedPanelElement::resetPosition):
803 (WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler):
804 (WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay):
805 * html/shadow/MediaControlsChromium.cpp:
806 (WebCore::MediaControlsChromium::updateCurrentTimeDisplay):
807 * html/track/InbandTextTrack.cpp:
808 (WebCore::InbandTextTrack::addGenericCue):
809 * inspector/InspectorCSSAgent.cpp:
810 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
811 * inspector/InspectorHistory.cpp:
812 (WebCore::InspectorHistory::markUndoableState):
813 * inspector/InspectorResourceAgent.cpp:
814 (WebCore::InspectorResourceAgent::replayXHR):
815 * page/ContextMenuController.cpp:
816 (WebCore::ContextMenuController::contextMenuItemSelected):
817 * page/DOMWindow.cpp:
818 (WebCore::didAddStorageEventListener):
819 * page/DragController.cpp:
820 (WebCore::documentFragmentFromDragData):
821 * page/EventHandler.cpp:
822 (WebCore::EventHandler::dispatchDragEvent):
823 (WebCore::EventHandler::keyEvent):
824 (WebCore::EventHandler::handleTextInputEvent):
826 (WebCore::Page::findStringMatchingRanges):
827 * platform/efl/RenderThemeEfl.cpp:
828 (WebCore::RenderThemeEfl::paintMediaSliderTrack):
829 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
830 (WebCore::MediaPlayerPrivate::percentLoaded):
831 * platform/gtk/RenderThemeGtk.cpp:
832 (WebCore::RenderThemeGtk::paintMediaSliderTrack):
833 * platform/mac/PasteboardMac.mm:
834 (WebCore::Pasteboard::getDataSelection):
835 (WebCore::documentFragmentWithImageResource):
836 (WebCore::Pasteboard::documentFragment):
837 * platform/mac/WebVideoFullscreenHUDWindowController.mm:
838 (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
839 (-[WebVideoFullscreenHUDWindowController setVolume:]):
840 * platform/qt/RenderThemeQt.cpp:
841 (WebCore::RenderThemeQt::paintMediaSliderTrack):
842 * rendering/RenderNamedFlowThread.cpp:
843 (WebCore::RenderNamedFlowThread::getRanges):
844 * rendering/RenderThemeMac.mm:
845 (WebCore::RenderThemeMac::paintMediaSliderTrack):
846 * svg/SVGTRefElement.cpp:
847 (WebCore::SVGTRefElement::detachTarget):
848 * xml/XMLTreeViewer.cpp:
849 (WebCore::XMLTreeViewer::transformDocumentToTreeView):
850 * xml/parser/XMLDocumentParserLibxml2.cpp:
851 (WebCore::XMLDocumentParser::endElementNs):
852 * xml/parser/XMLDocumentParserQt.cpp:
853 (WebCore::XMLDocumentParser::parseEndElement):
855 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
857 Web Inspector: Introduce workspace provider/project type, encapsulate uri creation in SimpleWorkspaceProvider.
858 https://bugs.webkit.org/show_bug.cgi?id=109282
860 Reviewed by Alexander Pavlov.
862 SimpleWorkspaceProvider now fully takes care of creating uri based on project/workspace provider type.
863 This is the first step on the way to project-per-domain mode for non file system project types.
864 Workspace is now partly aware of the possibility that several projects with the same type exist.
865 Drive-by: ScriptsPanel now uses FileMapping to show anchor location properly.
867 * inspector/front-end/DefaultScriptMapping.js:
868 (WebInspector.DefaultScriptMapping):
869 (WebInspector.DefaultScriptMapping.prototype.addScript):
870 * inspector/front-end/ExtensionServer.js:
871 (WebInspector.ExtensionServer.prototype._onGetPageResources):
872 * inspector/front-end/FileMapping.js:
873 (WebInspector.FileMapping.prototype.uriForURL):
874 * inspector/front-end/FileSystemWorkspaceProvider.js:
875 (WebInspector.FileSystemWorkspaceProvider.prototype.type):
876 * inspector/front-end/JavaScriptSourceFrame.js:
877 (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
878 * inspector/front-end/LiveEditSupport.js:
879 (WebInspector.LiveEditSupport):
880 (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
881 * inspector/front-end/ScriptSnippetModel.js:
882 (WebInspector.ScriptSnippetModel):
883 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
884 * inspector/front-end/ScriptsNavigator.js:
885 (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
886 (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
887 (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
888 (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
889 * inspector/front-end/ScriptsPanel.js:
890 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
891 (WebInspector.ScriptsPanel.prototype._projectWillReset):
892 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
893 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
894 (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
895 * inspector/front-end/SimpleWorkspaceProvider.js:
896 (WebInspector.SimpleWorkspaceProvider):
897 (WebInspector.SimpleWorkspaceProvider.uriForURL):
898 (WebInspector.SimpleWorkspaceProvider.prototype.type):
899 (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
900 (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
901 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
902 (WebInspector.SimpleWorkspaceProvider.prototype._uniqueURI):
903 * inspector/front-end/Workspace.js:
904 (WebInspector.WorkspaceProvider.prototype.type):
905 (WebInspector.Project.prototype.type):
906 (WebInspector.Project.prototype.isServiceProject):
907 (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
908 (WebInspector.Workspace.prototype.uiSourceCodesForProjectType):
909 (WebInspector.Workspace.prototype.projectsForType):
910 * inspector/front-end/inspector.js:
912 2013-02-08 ChangSeok Oh <shivamidow@gmail.com>
914 [GTK][AC] GraphicsLayerClutter doesn't need to recalculate its position after changing anchor position.
915 https://bugs.webkit.org/show_bug.cgi?id=109226
917 Reviewed by Gustavo Noronha Silva.
919 Clutter has a different coordinate system from mac port's, so we don't need to
920 recalulate GraphicsLayer position after changing its anchor position.
922 Covered by existing ac tests.
924 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
925 (WebCore::GraphicsLayerClutter::updateGeometry):
927 2013-02-08 Mike West <mkwst@chromium.org>
929 Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
930 https://bugs.webkit.org/show_bug.cgi?id=109266
932 Reviewed by Jochen Eisinger.
936 ExceptionCode ec = 0;
937 methodThatGeneratesException(ec);
940 is more clearly and succinctly written as:
942 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
944 This patch replaces the occurances of the former in IDB code that never
945 touch 'ec' again with the latter. No change in behavior should result
946 from this refactoring.
948 * Modules/indexeddb/IDBCursor.cpp:
949 (WebCore::IDBCursor::advance):
950 (WebCore::IDBCursor::continueFunction):
951 (WebCore::IDBCursor::deleteFunction):
952 These methods checked the value of the ExceptionCode without first
953 initializing it to 0. Now the ExceptionCode is explicitly set to 0
954 before doing potentially exception-generating work.
955 (WebCore::IDBCursor::direction):
956 * Modules/indexeddb/IDBObjectStore.cpp:
958 * Modules/indexeddb/IDBTransaction.cpp:
959 (WebCore::IDBTransaction::mode):
960 Replace the above pattern with ASSERT_NO_EXCEPTION.
962 2013-02-08 Mike West <mkwst@chromium.org>
964 Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
965 https://bugs.webkit.org/show_bug.cgi?id=109267
967 Reviewed by Jochen Eisinger.
971 ExceptionCode ec = 0;
972 methodThatGeneratesException(ec);
975 is more clearly and succinctly written as:
977 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
979 This patch replaces the occurances of the former in SVG code that never
980 touch 'ec' again with the latter. No change in behavior should result
981 from this refactoring.
984 (WebCore::SVGLength::SVGLength):
985 (WebCore::SVGLength::setValue):
986 This method checked the value of the ExceptionCode without first
987 initializing it to 0. Now it initializes before doing potentially
988 exception-generating work.
989 * rendering/style/SVGRenderStyle.h:
990 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
991 (WebCore::SVGRenderStyle::initialKerning):
992 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
993 (WebCore::SVGRenderStyle::initialStrokeWidth):
994 * svg/SVGAnimatedLength.cpp:
995 (WebCore::sharedSVGLength):
996 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
997 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
998 * svg/SVGAnimatedLengthList.cpp:
999 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
1000 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1001 * svg/SVGTextContentElement.cpp:
1002 (WebCore::SVGTextContentElement::textLengthAnimated):
1003 * svg/animation/SVGSMILElement.cpp:
1004 (WebCore::constructQualifiedName):
1005 Replace the above pattern with ASSERT_NO_EXCEPTION.
1007 2013-02-08 Vsevolod Vlasov <vsevik@chromium.org>
1009 Web Inspector: Replace workspace with project in UISourceCode constructor.
1010 https://bugs.webkit.org/show_bug.cgi?id=109256
1012 Reviewed by Alexander Pavlov.
1014 Replaced workspace with project in UISourceCode constructor since every UISourceCode
1015 operation is delegated to project anyway.
1017 * inspector/front-end/UISourceCode.js:
1018 (WebInspector.UISourceCode):
1019 (WebInspector.UISourceCode.prototype.project):
1020 (WebInspector.UISourceCode.prototype.requestContent):
1021 (WebInspector.UISourceCode.prototype.requestOriginalContent):
1022 (WebInspector.UISourceCode.prototype._commitContent):
1023 (WebInspector.UISourceCode.prototype.searchInContent):
1024 * inspector/front-end/Workspace.js:
1025 (WebInspector.Project.prototype._fileAdded):
1026 (WebInspector.Project.prototype.requestFileContent):
1027 (WebInspector.Project.prototype.setFileContent):
1028 (WebInspector.Project.prototype.searchInFileContent):
1030 2013-02-08 Patrick Gansterer <paroga@webkit.org>
1032 Build fix for Windows after r141981.
1034 * platform/network/win/ResourceHandleWin.cpp:
1035 (WebCore::ResourceHandle::loadResourceSynchronously):
1037 2013-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
1039 Unreviewed, rolling out r141695 and r141697.
1040 http://trac.webkit.org/changeset/141695
1041 http://trac.webkit.org/changeset/141697
1042 https://bugs.webkit.org/show_bug.cgi?id=109279
1044 broke on-disk buffering for http(s) media (Requested by philn
1047 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1048 (WebCore::MediaPlayerPrivateGStreamer::load):
1049 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1050 (MediaPlayerPrivateGStreamer):
1051 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1052 (webKitWebSrcGetProtocols):
1053 (webKitWebSrcSetUri):
1055 2013-02-08 Dan Carney <dcarney@google.com>
1057 [v8] isolate parameter added to all v8::peristent calls
1058 https://bugs.webkit.org/show_bug.cgi?id=109268
1060 Reviewed by Kentaro Hara.
1062 No new tests. No change in functionality.
1064 * bindings/scripts/CodeGeneratorV8.pm:
1065 (GenerateDomainSafeFunctionGetter):
1066 (GenerateNamedConstructorCallback):
1067 (GenerateImplementation):
1068 * bindings/scripts/test/V8/V8Float64Array.cpp:
1069 (WebCore::V8Float64Array::GetRawTemplate):
1070 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1071 (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1072 (WebCore::V8TestActiveDOMObject::GetRawTemplate):
1073 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1074 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
1075 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1076 (WebCore::V8TestEventConstructor::GetRawTemplate):
1077 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1078 (WebCore::V8TestEventTarget::GetRawTemplate):
1079 * bindings/scripts/test/V8/V8TestException.cpp:
1080 (WebCore::V8TestException::GetRawTemplate):
1081 * bindings/scripts/test/V8/V8TestInterface.cpp:
1082 (WebCore::V8TestInterface::GetRawTemplate):
1083 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1084 (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
1085 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1086 (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1087 (WebCore::V8TestNamedConstructor::GetRawTemplate):
1088 * bindings/scripts/test/V8/V8TestNode.cpp:
1089 (WebCore::V8TestNode::GetRawTemplate):
1090 * bindings/scripts/test/V8/V8TestObj.cpp:
1091 (WebCore::V8TestObj::GetRawTemplate):
1092 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1093 (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
1094 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1095 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
1096 * bindings/v8/DOMWrapperMap.h:
1097 (WebCore::DOMWrapperMap::clear):
1098 * bindings/v8/DOMWrapperWorld.cpp:
1099 (WebCore::isolatedWorldWeakCallback):
1100 (WebCore::DOMWrapperWorld::makeContextWeak):
1101 * bindings/v8/NPV8Object.cpp:
1102 (WebCore::freeV8NPObject):
1103 (WebCore::npCreateV8ScriptObject):
1104 * bindings/v8/ScheduledAction.cpp:
1105 (WebCore::ScheduledAction::ScheduledAction):
1106 (WebCore::ScheduledAction::~ScheduledAction):
1107 * bindings/v8/ScopedPersistent.h:
1108 (WebCore::ScopedPersistent::ScopedPersistent):
1109 (WebCore::ScopedPersistent::set):
1110 (WebCore::ScopedPersistent::clear):
1111 * bindings/v8/ScriptWrappable.h:
1112 (WebCore::ScriptWrappable::setWrapper):
1113 (WebCore::ScriptWrappable::disposeWrapper):
1114 (WebCore::ScriptWrappable::weakCallback):
1115 * bindings/v8/V8Binding.cpp:
1116 (WebCore::createRawTemplate):
1117 * bindings/v8/V8Binding.h:
1119 * bindings/v8/V8GCController.cpp:
1121 (WebCore::V8GCController::gcPrologue):
1122 (WebCore::V8GCController::minorGCPrologue):
1123 * bindings/v8/V8GCController.h:
1125 * bindings/v8/V8HiddenPropertyName.cpp:
1126 (WebCore::V8HiddenPropertyName::createString):
1127 * bindings/v8/V8LazyEventListener.cpp:
1128 (WebCore::V8LazyEventListener::prepareListenerObject):
1129 * bindings/v8/V8NPObject.cpp:
1130 (WebCore::V8NPTemplateMap::dispose):
1131 (WebCore::npObjectGetProperty):
1132 (WebCore::createV8ObjectForNPObject):
1133 * bindings/v8/V8PerContextData.cpp:
1134 (WebCore::V8PerContextData::dispose):
1135 (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
1136 (WebCore::V8PerContextData::constructorForTypeSlowCase):
1137 * bindings/v8/V8ValueCache.cpp:
1138 (WebCore::makeExternalString):
1139 * bindings/v8/WrapperTypeInfo.h:
1140 (WebCore::WrapperConfiguration::configureWrapper):
1141 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1142 (WebCore::V8HTMLDocument::wrapInShadowObject):
1143 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1144 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1145 * bindings/v8/custom/V8InjectedScriptManager.cpp:
1146 (WebCore::WeakReferenceCallback):
1147 (WebCore::createInjectedScriptHostV8Wrapper):
1148 * bindings/v8/custom/V8LocationCustom.cpp:
1149 (WebCore::V8Location::reloadAccessorGetter):
1150 (WebCore::V8Location::replaceAccessorGetter):
1151 (WebCore::V8Location::assignAccessorGetter):
1153 2013-02-08 Kent Tamura <tkent@chromium.org>
1155 Adjust usage of ENABLE flags to enable whole content
1156 https://bugs.webkit.org/show_bug.cgi?id=109270
1158 Reviewed by Eric Seidel.
1160 Our common usage of ENABLE flags to enable whole content of files is:
1172 Fix files which have uncommon usage, and fix CodeGeneratorV8.pm so that
1173 it generates the common pattern. Note that CodeGeneratorJS.pm already
1174 generates code in this order.
1176 * bindings/scripts/CodeGeneratorV8.pm:
1177 (GenerateHeaderContentHeader):
1178 (GenerateImplementationContentHeader):
1179 * bindings/scripts/test/V8/V8TestCallback.cpp:
1180 * bindings/scripts/test/V8/V8TestCallback.h:
1181 * bindings/scripts/test/V8/V8TestInterface.cpp:
1182 * bindings/scripts/test/V8/V8TestInterface.h:
1183 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1184 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1185 * html/BaseMultipleFieldsDateAndTimeInputType.h:
1186 * html/ColorInputType.cpp:
1187 * html/ColorInputType.h:
1188 * html/DateInputType.cpp:
1189 * html/DateTimeInputType.cpp:
1190 * html/DateTimeInputType.h:
1191 * html/DateTimeLocalInputType.cpp:
1192 * html/HTMLAudioElement.cpp:
1193 * html/HTMLAudioElement.h:
1194 * html/HTMLDataListElement.cpp:
1195 * html/HTMLDialogElement.cpp:
1196 * html/HTMLDialogElement.h:
1197 * html/HTMLMediaElement.cpp:
1198 * html/HTMLMediaElement.h:
1199 * html/HTMLMeterElement.cpp:
1200 * html/HTMLProgressElement.cpp:
1201 * html/HTMLSourceElement.cpp:
1202 * html/HTMLSourceElement.h:
1203 * html/HTMLTrackElement.cpp:
1204 * html/HTMLTrackElement.h:
1205 * html/HTMLVideoElement.cpp:
1206 * html/HTMLVideoElement.h:
1207 * html/MonthInputType.cpp:
1208 * html/TimeInputType.cpp:
1209 * html/WeekInputType.cpp:
1210 * html/shadow/DateTimeFieldElement.h:
1211 * html/shadow/DetailsMarkerControl.cpp:
1212 * html/shadow/MeterShadowElement.cpp:
1213 * html/shadow/ProgressShadowElement.cpp:
1214 * rendering/RenderDetailsMarker.cpp:
1215 * rendering/RenderInputSpeech.cpp:
1216 * rendering/RenderMeter.cpp:
1217 * rendering/RenderProgress.cpp:
1219 2013-02-08 Mike West <mkwst@chromium.org>
1221 Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
1222 https://bugs.webkit.org/show_bug.cgi?id=109044
1224 Reviewed by Darin Adler.
1228 ExceptionCode ec = 0;
1229 methodThatGeneratesException(ec);
1232 is more clearly and succinctly written as:
1234 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1236 This patch replaces the occurances of the former that never touch 'ec'
1237 again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
1238 a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
1239 where it does indeed matter that 'ec' get set properly.
1241 No change in behavior should result from this refactoring.
1243 * dom/ContainerNode.cpp:
1244 (WebCore::ContainerNode::takeAllChildrenFrom):
1246 (WebCore::Document::setTitle):
1247 * dom/MessagePort.cpp:
1248 (WebCore::MessagePort::dispatchMessages):
1249 (WebCore::MessagePort::disentanglePorts):
1250 * editing/DeleteButtonController.cpp:
1251 (WebCore::enclosingDeletableElement):
1252 (WebCore::DeleteButtonController::createDeletionUI):
1253 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1254 (WebCore::DeleteButtonController::show):
1255 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1256 * editing/EditorCommand.cpp:
1257 (WebCore::unionDOMRanges):
1258 * editing/ReplaceNodeWithSpanCommand.cpp:
1259 (WebCore::swapInNodePreservingAttributesAndChildren):
1260 * editing/ReplaceSelectionCommand.cpp:
1261 (WebCore::ReplacementFragment::ReplacementFragment):
1262 (WebCore::ReplacementFragment::removeNode):
1263 (WebCore::ReplacementFragment::insertNodeBefore):
1264 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
1265 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
1266 (WebCore::ReplaceSelectionCommand::insertAsListItems):
1267 * editing/SplitTextNodeCommand.cpp:
1268 (WebCore::SplitTextNodeCommand::doUnapply):
1269 * editing/TextIterator.cpp:
1270 (WebCore::CharacterIterator::range):
1271 (WebCore::BackwardsCharacterIterator::range):
1272 (WebCore::TextIterator::rangeFromLocationAndLength):
1273 (WebCore::collapsedToBoundary):
1274 * editing/htmlediting.cpp:
1275 (WebCore::createTabSpanElement):
1276 * editing/mac/EditorMac.mm:
1277 (WebCore::Editor::fontForSelection):
1278 (WebCore::Editor::fontAttributesForSelectionStart):
1279 * editing/markup.cpp:
1280 (WebCore::createMarkup):
1281 (WebCore::trimFragment):
1282 (WebCore::createFragmentFromMarkupWithContext):
1283 (WebCore::fillContainerFromString):
1284 (WebCore::createFragmentFromText):
1285 (WebCore::createFragmentFromNodes):
1286 * html/ColorInputType.cpp:
1287 (WebCore::ColorInputType::createShadowSubtree):
1288 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1289 * html/HTMLOptionsCollection.cpp:
1290 (WebCore::HTMLOptionsCollection::add):
1291 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1292 * html/HTMLTextAreaElement.cpp:
1293 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
1294 * html/HTMLTextFormControlElement.cpp:
1295 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
1296 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1297 * html/TextFieldInputType.cpp:
1298 (WebCore::TextFieldInputType::updatePlaceholderText):
1299 * html/ValidationMessage.cpp:
1300 (WebCore::ValidationMessage::buildBubbleTree):
1301 * html/shadow/MediaControlElementTypes.cpp:
1302 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1303 * inspector/InspectorPageAgent.cpp:
1304 (WebCore::InspectorPageAgent::getCookies):
1305 * inspector/InspectorStyleSheet.cpp:
1306 (WebCore::InspectorStyleSheet::addRule):
1307 * loader/appcache/ApplicationCacheHost.cpp:
1308 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
1309 * page/DOMSelection.cpp:
1310 (WebCore::DOMSelection::deleteFromDocument):
1311 * page/DragController.cpp:
1312 (WebCore::prepareClipboardForImageDrag):
1313 * rendering/RenderTextControl.cpp:
1314 (WebCore::RenderTextControl::visiblePositionForIndex):
1315 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1317 2013-02-08 Alexei Filippov <alph@chromium.org>
1319 Web Inspector: disable profile type switching while profile in progress
1320 https://bugs.webkit.org/show_bug.cgi?id=109178
1322 Reviewed by Yury Semikhatsky.
1324 Disables profile type selection controls when a profiling session
1327 * inspector/front-end/HeapSnapshotView.js:
1328 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
1329 * inspector/front-end/ProfileLauncherView.js:
1330 (WebInspector.ProfileLauncherView.prototype._updateControls):
1331 * inspector/front-end/ProfilesPanel.js:
1332 (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
1334 2013-02-08 Ilya Tikhonovsky <loislo@chromium.org>
1336 Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
1337 https://bugs.webkit.org/show_bug.cgi?id=109263
1339 Reviewed by Yury Semikhatsky.
1341 The chunk size is changed from 100 to 10000.
1342 addString counts only first 256 symbols of the string.o
1344 * inspector/HeapGraphSerializer.cpp:
1345 (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
1346 (WebCore::HeapGraphSerializer::addString):
1347 * inspector/front-end/NativeMemorySnapshotView.js:
1349 2013-02-08 Kentaro Hara <haraken@chromium.org>
1351 Support a relatedTarget attribute on focus/blur events
1352 https://bugs.webkit.org/show_bug.cgi?id=109176
1354 Reviewed by Ojan Vafai.
1356 In bug 76216, we supported a relatedTarget attribute on
1357 focusin/focusout events. We should also support it on focus/blur events.
1359 See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
1360 for the www-dom discussion.
1362 Test: fast/dom/shadow/shadow-boundary-events.html
1363 fast/events/related-target-focusevent.html
1365 * dom/EventDispatchMediator.cpp:
1366 (WebCore::FocusEventDispatchMediator::create):
1367 (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1368 (WebCore::BlurEventDispatchMediator::create):
1369 (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1370 * dom/EventDispatchMediator.h:
1371 (FocusEventDispatchMediator):
1372 (BlurEventDispatchMediator):
1374 (WebCore::Node::dispatchFocusInEvent):
1375 (WebCore::Node::dispatchFocusOutEvent):
1376 (WebCore::Node::dispatchFocusEvent):
1377 (WebCore::Node::dispatchBlurEvent):
1379 2013-02-07 Yury Semikhatsky <yurys@chromium.org>
1381 Web Inspector: reduce number of native memory instrumentation categories
1382 https://bugs.webkit.org/show_bug.cgi?id=109146
1384 Reviewed by Pavel Feldman.
1386 Merged some of memory instrumentation categories.
1388 * dom/WebCoreMemoryInstrumentation.cpp:
1390 * inspector/front-end/NativeMemorySnapshotView.js:
1391 (WebInspector.MemoryBlockViewProperties._initialize):
1392 * platform/PlatformMemoryInstrumentation.cpp:
1395 2013-02-07 Mike West <mkwst@chromium.org>
1397 <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
1398 https://bugs.webkit.org/show_bug.cgi?id=87707
1400 Reviewed by Eric Seidel.
1402 Seamless documents currently render incorrectly when their content fills
1403 the width of the container into which they're placed. Because FrameView
1404 assumes that the container's size is properly set before the first pass
1405 of layout, vertical scrollbars are incorrectly forced onto seamless
1406 content, because seamless sets the container's height to 0 before
1407 handing it off to FrameView for layout. The scrollbars make the
1408 available width for the seamless document ~15px smaller than it should
1409 be, resulting in content getting bumped to the next line.
1411 This patch special-cases FrameView::calculateScrollbarModesForLayout in
1412 order to force scrollbars off for seamless documents with a full visible
1413 height of 0px. Once the layout pass has grabbed the content height and
1414 applied it to the visible height, scrollbars will again be applicable.
1416 The change should be covered by rebaselines for the newly-passing
1417 results in fast/frame/seamless-{float,inline}.html
1419 * page/FrameView.cpp:
1420 (WebCore::FrameView::calculateScrollbarModesForLayout):
1421 If we're rendering a seamless document, and the full visible height
1422 is 0, and the vertical scrollbar would otherwise be ScrollbarAuto,
1423 then force ScrollbarAlwaysOff.
1425 2013-02-07 Kent Tamura <tkent@chromium.org>
1427 document.activeElement should not return a non-focusable element
1428 https://bugs.webkit.org/show_bug.cgi?id=86707
1430 Reviewed by Hajime Morita.
1432 This is based on a patch by Arpita Bahuguna.
1434 Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
1437 (WebCore::Document::setFocusedNode):
1438 Added check for verifying that the node to be focused is
1439 focusable. However, this check should be skipped for HTMLPlugInElement
1440 because it has special behavior.
1442 2013-02-07 Vladislav Kaznacheev <kaznacheev@chromium.org>
1444 Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
1445 https://bugs.webkit.org/show_bug.cgi?id=109259
1447 Reviewed by Vsevolod Vlasov.
1449 * inspector/front-end/DOMBreakpointsSidebarPane.js:
1450 (WebInspector.DOMBreakpointsSidebarPane.Proxy):
1451 * inspector/front-end/SidebarPane.js:
1453 2013-02-07 Kentaro Hara <haraken@chromium.org>
1455 [V8] enum V8HiddenPropertyCreationType is not used
1456 https://bugs.webkit.org/show_bug.cgi?id=109250
1458 Reviewed by Adam Barth.
1460 V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
1462 No tests. No change in behavior.
1464 * bindings/v8/V8HiddenPropertyName.cpp:
1465 (WebCore::hiddenReferenceName):
1466 * bindings/v8/V8HiddenPropertyName.h:
1469 2013-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
1471 Unreviewed, rolling out r142212.
1472 http://trac.webkit.org/changeset/142212
1473 https://bugs.webkit.org/show_bug.cgi?id=109255
1475 Causes ASSERT(!m_installed) on launch (Requested by smfr on
1479 * platform/MemoryPressureHandler.cpp:
1481 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1482 * platform/MemoryPressureHandler.h:
1483 (MemoryPressureHandler):
1484 * platform/mac/MemoryPressureHandlerMac.mm:
1485 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1487 2013-02-07 Hanyee Kim <choco@company100.net>
1489 NamedFlowCollection should be a ContextDestructionObserver
1490 https://bugs.webkit.org/show_bug.cgi?id=99239
1492 Reviewed by Adam Barth
1494 This patch removes the raw pointer of Document in NamedFlowCollection.
1495 It could be replaced with ContextDestructionObserver.
1496 ContextDestructionObserver has the pointer and clears the pointer
1497 automatically when the document is destroyed.
1500 (WebCore::Document::~Document):
1501 * dom/NamedFlowCollection.cpp:
1502 (WebCore::NamedFlowCollection::NamedFlowCollection):
1503 (WebCore::NamedFlowCollection::ensureFlowWithName):
1504 (WebCore::NamedFlowCollection::discardNamedFlow):
1505 (WebCore::NamedFlowCollection::document):
1507 * dom/NamedFlowCollection.h:
1508 (NamedFlowCollection):
1510 2013-02-07 Dean Jackson <dino@apple.com>
1512 Followup review suggestions from Alexey Proskuryakov on
1513 https://bugs.webkit.org/show_bug.cgi?id=109215
1515 Don't provide a charset on embedded SVG, especially
1516 with incorrect syntax :)
1518 * css/mediaControlsQuickTime.css:
1519 (video::-webkit-media-controls-toggle-closed-captions-button):
1520 (video::-webkit-media-controls-closed-captions-track-list li.selected):
1521 (video::-webkit-media-controls-closed-captions-track-list li.selected:hover):
1523 2013-02-07 Seulgi Kim <seulgikim@company100.net>
1525 [Gtk] RunLoop::run shuold run current thread's run loop.
1526 https://bugs.webkit.org/show_bug.cgi?id=107887
1528 Reviewed by Martin Robinson.
1530 Currently, RunLoop in Gtk can use just main thread's event loop.
1531 But the other ports are implemented to use RunLoop in sub threads.
1533 This patch makes RunLoop constructor create new context, not use default
1535 But in the main thread still uses default context to use main event loop
1536 since there is some codes using glib directly (e.g. in
1537 LayerTreeHostGtk::scheduleLayerFlush).
1539 No new tests. There is no case that uses RunLoop in off the main thread
1542 * platform/gtk/RunLoopGtk.cpp:
1543 (WebCore::RunLoop::RunLoop):
1544 (WebCore::RunLoop::run):
1546 2013-02-07 Kentaro Hara <haraken@chromium.org>
1548 [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
1549 https://bugs.webkit.org/show_bug.cgi?id=109186
1551 Reviewed by Adam Barth.
1553 V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
1555 No tests. No change in behavior.
1557 * bindings/scripts/CodeGeneratorV8.pm:
1558 (GenerateNormalAttrGetter):
1559 * bindings/scripts/test/V8/V8TestObj.cpp:
1560 (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
1561 * bindings/v8/V8DOMWrapper.cpp:
1562 * bindings/v8/V8DOMWrapper.h:
1564 * bindings/v8/V8HiddenPropertyName.cpp:
1565 (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1566 (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
1568 * bindings/v8/V8HiddenPropertyName.h:
1569 (V8HiddenPropertyName):
1570 (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
1571 * bindings/v8/custom/V8MessageChannelCustom.cpp:
1572 (WebCore::V8MessageChannel::constructorCallbackCustom):
1573 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1574 (WebCore::toV8Object):
1576 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
1578 getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
1579 https://bugs.webkit.org/show_bug.cgi?id=106535
1581 Reviewed by Ojan Vafai.
1583 Element::computedStyle and CSSComputedStyleDeclaration::getPropertyCSSValue
1584 should use the PseudoElement and it's renderer if they exist so that
1585 querying the computed style while an animation is running returns
1586 the intermediate values.
1588 No new tests, updated existing tests.
1590 * css/CSSComputedStyleDeclaration.cpp:
1591 (WebCore::CSSComputedStyleDeclaration::styledNode): Added, returns either the PseudoElement or the Node.
1592 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to use styledNode.
1593 * css/CSSComputedStyleDeclaration.h:
1594 (CSSComputedStyleDeclaration):
1596 (WebCore::Element::computedStyle): Check the PseudoElement, not just the cached pseudo style.
1597 * dom/ElementRareData.h:
1598 (WebCore::ElementRareData::pseudoElement): Remove ASSERT_NOT_REACHED so passing other pseudos returns 0.
1600 2013-02-07 Mark Lam <mark.lam@apple.com>
1602 Add a comment about how the SQLTransaction state machine works.
1603 https://bugs.webkit.org/show_bug.cgi?id=109243.
1605 Rubber stamped by Anders Carlsson.
1609 * Modules/webdatabase/SQLTransactionBackend.cpp:
1611 2013-02-06 Gavin Barraclough <barraclough@apple.com>
1613 PluginProcess should quit immediately if idle in response to low-memory notifications
1614 https://bugs.webkit.org/show_bug.cgi?id=109103
1615 <rdar://problem/12679827>
1617 Reviewed by Darin Adler.
1619 This patch allows a process to set a custom callback for low memory warnings
1620 (defaulting to the current behaviour, as implemented in releaseMemory).
1622 MemoryPressureHandler::install is currently used for two purposes - it is
1623 called when first initializing a low memory handler for a process, and also
1624 used to reinstall the handler (on a delay) after the notification has occured.
1625 Since reinstallation doesn't change the callback, split these behaviours out -
1626 MemoryPressureHandler::initialize is added to initialization, and accepts a
1627 custom callback, install in made private.
1630 - Added export for releaseMemory.
1631 * platform/MemoryPressureHandler.cpp:
1632 (WebCore::MemoryPressureHandler::releaseMemory):
1633 - Added null implementation for non-Mac builds.
1634 * platform/MemoryPressureHandler.h:
1635 (WebCore::MemoryPressureHandler::initialize):
1636 - distinguish initialization from reinstallations, allow handler to be set.
1637 (MemoryPressureHandler):
1638 - Added m_lowMemoryHandler function pointer member variable.
1639 * platform/mac/MemoryPressureHandlerMac.mm:
1640 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1641 - Call m_lowMemoryHandler instead of releaseMemory.
1643 2013-02-07 Kentaro Hara <haraken@chromium.org>
1645 [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
1646 https://bugs.webkit.org/show_bug.cgi?id=109167
1648 Reviewed by Andreas Kling.
1650 Given that assertContextHasCorrectPrototype() is anyway empty in a release
1651 build, we don't need to surround it with #ifndef NDEBUG.
1653 No tests. No change in behavior.
1655 * bindings/v8/DOMWrapperWorld.cpp:
1656 (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
1657 * bindings/v8/DOMWrapperWorld.h:
1659 (WebCore::DOMWrapperWorld::isolated):
1661 2013-02-07 Alexei Svitkine <asvitkine@chromium.org>
1663 Chromium: Hang parsing bidi control chars on Mac OS X 10.6
1664 https://bugs.webkit.org/show_bug.cgi?id=108877
1666 This was broken a while ago by:
1667 https://bugs.webkit.org/show_bug.cgi?id=83045
1669 On 10.6, CoreText will not produce any runs covering the
1670 Unicode BiDi RTL mark control char, which causes an infinite
1671 loop in ComplexTextController::indexOfCurrentRun() due to no
1672 run covering the character at offset 0.
1674 This patch fixes that issue by finding the earliest run
1675 explicitly via the minimum stringBegin() index instead of
1676 relying on a run existing that covers offset 0.
1678 Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
1679 Chromium bug: http://crbug.com/167844
1681 New test in the same style as the harfbuzz-buffer-overrun.html
1682 test (in the same folder).
1684 Reviewed by Eric Seidel.
1686 Test: fast/text/international/rtl-mark.html
1688 * platform/graphics/mac/ComplexTextController.cpp:
1689 (WebCore::ComplexTextController::indexOfCurrentRun):
1691 2013-02-07 Kentaro Hara <haraken@chromium.org>
1693 Implement FocusEvent constructor
1694 https://bugs.webkit.org/show_bug.cgi?id=109170
1696 Reviewed by Adam Barth.
1698 Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
1700 FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
1701 flag, which is enabled on Chromium and Safari.
1703 Test: fast/events/constructors/focus-event-constructor.html
1705 * dom/FocusEvent.cpp:
1706 (WebCore::FocusEventInit::FocusEventInit):
1708 (WebCore::FocusEvent::FocusEvent):
1712 (WebCore::FocusEvent::create):
1714 * dom/FocusEvent.idl:
1715 * page/DOMWindow.idl:
1717 2013-02-07 Elliott Sprehn <esprehn@chromium.org>
1719 HTML parser should queue MutationRecords for its operations
1720 https://bugs.webkit.org/show_bug.cgi?id=89351
1722 Reviewed by Eric Seidel.
1724 Generate mutation records inside the parser. This is done by using a
1725 ChildListMutationScope in the ContainerNode::parser* methods and then
1726 adding delivery before each <script> element would be processed by
1729 Test: fast/dom/MutationObserver/parser-mutations.html
1731 * dom/ContainerNode.cpp:
1732 (WebCore::ContainerNode::takeAllChildrenFrom):
1733 (WebCore::ContainerNode::parserInsertBefore):
1734 (WebCore::ContainerNode::parserRemoveChild):
1735 (WebCore::ContainerNode::parserAppendChild):
1736 * html/parser/HTMLScriptRunner.cpp:
1737 (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
1738 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
1739 (WebCore::HTMLScriptRunner::execute):
1740 (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
1741 (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
1742 (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
1743 (WebCore::HTMLScriptRunner::runScript):
1745 2013-02-07 Kentaro Hara <haraken@chromium.org>
1747 Fix FIXMEs in WindowFeatures.h
1748 https://bugs.webkit.org/show_bug.cgi?id=109151
1750 Reviewed by Adam Barth.
1752 1. // FIXME: We can delete this constructor once V8 showModalDialog is
1753 // changed to use DOMWindow.
1755 This FIXME is not right. The WindowFeatures() constructor is used by
1756 other ports too (e.g. WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp).
1757 So we should remove the FIXME.
1759 2. // FIXME: We can make these functions private non-member functions
1760 // once V8 showModalDialog is changed to use DOMWindow.
1762 Given that V8 now uses DOMWindow in showModalDialog(), we can make the
1765 No tests. No change in behavior.
1767 * page/WindowFeatures.h:
1769 (WebCore::WindowFeatures::WindowFeatures):
1772 2013-02-07 Adam Barth <abarth@webkit.org>
1774 fast/parser/document-write-noscript.html fails for threaded HTML parser
1775 https://bugs.webkit.org/show_bug.cgi?id=109237
1777 Reviewed by Eric Seidel.
1779 If there are multiple calls to document.write in an external script, we
1780 need to wait for them all to complete before invalidating the
1781 speculative tokens. Instead of doing this when we unwind the
1782 document.write call stack, we do this when we're about to resume
1783 parsing after script execution.
1785 Test: fast/parser/document-write-basic.html
1787 * html/parser/HTMLDocumentParser.cpp:
1788 (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1789 (WebCore::HTMLDocumentParser::insert):
1790 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1792 2013-02-07 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
1794 Fix build when compiling with css3-text and css3-conditional-rules feature flags enabled.
1795 https://bugs.webkit.org/show_bug.cgi?id=109217
1797 Reviewed by Benjamin Poulain.
1799 * css/InspectorCSSOMWrappers.cpp:
1800 (WebCore::InspectorCSSOMWrappers::collect):
1802 2013-02-07 Keishi Hattori <keishi@webkit.org>
1804 REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
1805 https://bugs.webkit.org/show_bug.cgi?id=109136
1807 Reviewed by Kent Tamura.
1809 Calendar picker was using the "Clear" button to calculate the window width.
1810 Since it doesn't exist when the input element has a required attribute,
1811 it was throwing an error. This patch fixes the width calculating logic.
1813 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
1814 platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
1816 * Resources/pagepopups/calendarPicker.css:
1817 (.today-clear-area):
1818 * Resources/pagepopups/calendarPicker.js:
1819 (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
1820 the width. We don't want to use clear button because it doesn't exist
1821 when a value is required.
1823 2013-02-07 Terry Anderson <tdanderson@chromium.org>
1825 Non-scrollable divs and non-scrollable iframes can scroll with touch
1826 https://bugs.webkit.org/show_bug.cgi?id=109087
1828 Reviewed by Eric Seidel.
1830 Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
1831 fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
1833 When finding a candidate for a scrollable node in
1834 EventHandler::handleGestureScrollUpdate(), select the document node
1835 if it is reached before any scrollable element when walking up the DOM
1836 tree. Also ensure that calling RenderLayer::scrollBy() for a document
1837 node does not result in scrolling if the element is not scrollable.
1839 * page/EventHandler.cpp:
1840 (WebCore::closestScrollableNodeCandidate):
1841 (WebCore::EventHandler::handleGestureScrollUpdate):
1842 * rendering/RenderLayer.cpp:
1843 (WebCore::RenderLayer::scrollBy):
1845 2013-02-07 Mark Lam <mark.lam@apple.com>
1847 Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
1848 https://bugs.webkit.org/show_bug.cgi?id=109109.
1850 Reviewed by Anders Carlsson.
1852 Adding back the new SQLTransaction and SQLTransactionSync files.
1856 * Modules/webdatabase/SQLTransaction.cpp: Added.
1857 (WebCore::SQLTransaction::create):
1858 (WebCore::SQLTransaction::SQLTransaction):
1859 (WebCore::SQLTransaction::from):
1860 * Modules/webdatabase/SQLTransaction.h: Added.
1862 * Modules/webdatabase/SQLTransactionSync.cpp: Added.
1863 (WebCore::SQLTransactionSync::create):
1864 (WebCore::SQLTransactionSync::SQLTransactionSync):
1865 (WebCore::SQLTransactionSync::from):
1866 * Modules/webdatabase/SQLTransactionSync.h: Added.
1867 (SQLTransactionSync):
1869 2013-02-07 Mark Lam <mark.lam@apple.com>
1871 Introduce SQLTransactionBackend and SQLTransactionBackendSync.
1872 https://bugs.webkit.org/show_bug.cgi?id=109109.
1874 Reviewed by Anders Carlsson.
1876 - Renamed SQLTransaction and SQLTransactionSync to SQLTransactionBackend
1877 and SQLTransactionBackendSync respectively.
1878 - Added back SQLTransaction and SQLTransactionSync as new files, and have
1879 their classes extends their respective backends. This is a stop gap
1880 measure to keep things working until the front-end and back-end can be
1882 Note: these files will be committed in a subsequent commit to ensure
1883 that the patching goes smoothly.
1884 - Where needed, I made use of new SQLTransaction::from() and
1885 SQLTransactionSync::from() static methods that "get" the front-end
1886 transactions from the back-ends. This is also a stop gap measure to
1887 keep things working until the proper refactoring is complete.
1888 - Fixed up pre-existing style checker violations that are now detected
1889 on code that were touched during my renaming.
1890 - Added the back-end files to all the build files.
1895 * GNUmakefile.list.am:
1896 * Modules/webdatabase/Database.cpp:
1897 (WebCore::Database::scheduleTransactionStep):
1898 * Modules/webdatabase/Database.h:
1900 * Modules/webdatabase/DatabaseBackend.h:
1902 * Modules/webdatabase/DatabaseTask.cpp:
1903 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
1904 * Modules/webdatabase/DatabaseTask.h:
1905 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::create):
1906 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::transaction):
1907 (DatabaseBackendAsync::DatabaseTransactionTask):
1908 * Modules/webdatabase/SQLTransaction.cpp: Removed.
1909 * Modules/webdatabase/SQLTransaction.h: Removed.
1910 * Modules/webdatabase/SQLTransactionBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.cpp.
1911 (WebCore::SQLTransactionBackend::SQLTransactionBackend):
1912 (WebCore::SQLTransactionBackend::~SQLTransactionBackend):
1913 (WebCore::SQLTransactionBackend::executeSQL):
1914 (WebCore::SQLTransactionBackend::enqueueStatement):
1915 (WebCore::SQLTransactionBackend::debugStepName):
1916 (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
1917 (WebCore::SQLTransactionBackend::performNextStep):
1918 (WebCore::SQLTransactionBackend::performPendingCallback):
1919 (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
1920 (WebCore::SQLTransactionBackend::acquireLock):
1921 (WebCore::SQLTransactionBackend::lockAcquired):
1922 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1923 (WebCore::SQLTransactionBackend::deliverTransactionCallback):
1924 (WebCore::SQLTransactionBackend::scheduleToRunStatements):
1925 (WebCore::SQLTransactionBackend::runStatements):
1926 (WebCore::SQLTransactionBackend::getNextStatement):
1927 (WebCore::SQLTransactionBackend::runCurrentStatement):
1928 (WebCore::SQLTransactionBackend::handleCurrentStatementError):
1929 (WebCore::SQLTransactionBackend::deliverStatementCallback):
1930 (WebCore::SQLTransactionBackend::deliverQuotaIncreaseCallback):
1931 (WebCore::SQLTransactionBackend::postflightAndCommit):
1932 (WebCore::SQLTransactionBackend::deliverSuccessCallback):
1933 (WebCore::SQLTransactionBackend::cleanupAfterSuccessCallback):
1934 (WebCore::SQLTransactionBackend::handleTransactionError):
1935 (WebCore::SQLTransactionBackend::deliverTransactionErrorCallback):
1936 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1937 * Modules/webdatabase/SQLTransactionBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransaction.h.
1938 (SQLTransactionBackend):
1939 * Modules/webdatabase/SQLTransactionBackendSync.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp.
1940 (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
1941 (WebCore::SQLTransactionBackendSync::~SQLTransactionBackendSync):
1942 (WebCore::SQLTransactionBackendSync::executeSQL):
1943 (WebCore::SQLTransactionBackendSync::begin):
1944 (WebCore::SQLTransactionBackendSync::execute):
1945 (WebCore::SQLTransactionBackendSync::commit):
1946 (WebCore::SQLTransactionBackendSync::rollback):
1947 * Modules/webdatabase/SQLTransactionBackendSync.h: Copied from Source/WebCore/Modules/webdatabase/SQLTransactionSync.h.
1948 (SQLTransactionBackendSync):
1949 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1950 (WebCore::getDatabaseIdentifier):
1951 (WebCore::SQLTransactionCoordinator::processPendingTransactions):
1952 (WebCore::SQLTransactionCoordinator::acquireLock):
1953 (WebCore::SQLTransactionCoordinator::releaseLock):
1954 (WebCore::SQLTransactionCoordinator::shutdown):
1955 * Modules/webdatabase/SQLTransactionCoordinator.h:
1956 (SQLTransactionCoordinator):
1957 (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
1959 * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
1960 * Modules/webdatabase/SQLTransactionSync.h: Removed.
1963 * WebCore.vcproj/WebCore.vcproj:
1964 * WebCore.vcxproj/WebCore.vcxproj:
1965 * WebCore.vcxproj/WebCore.vcxproj.filters:
1966 * WebCore.xcodeproj/project.pbxproj:
1968 2013-02-07 Dean Jackson <dino@apple.com>
1970 Use new speech bubble artwork for captions menu button
1971 https://bugs.webkit.org/show_bug.cgi?id=109215
1973 Reviewed by Eric Carlson.
1975 Rather than call into RenderTheme to display this button, embed artwork
1976 into the CSS. This means we can remove some uncalled methods in
1979 * css/mediaControlsQuickTime.css:
1980 (video::-webkit-media-controls-toggle-closed-captions-button): New background image using SVG.
1981 * rendering/RenderTheme.cpp:
1982 (WebCore::RenderTheme::paint): Don't call the specific painter for the CC button.
1983 * rendering/RenderTheme.h: Remove unused function.
1984 * rendering/RenderThemeMac.h: Ditto.
1985 * rendering/RenderThemeMac.mm: Ditto.
1987 2013-02-07 Michelangelo De Simone <michelangelo@webkit.org>
1989 [CSS Shaders] Add the last blending step
1990 https://bugs.webkit.org/show_bug.cgi?id=104012
1992 The resulting blended color in mix() is now weighted according to
1993 the original element's backdrop alpha value.
1995 Reviewed by Dean Jackson.
1997 Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
1999 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2000 (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
2002 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
2004 Fix two exports of WebCore symbols on iOS
2005 https://bugs.webkit.org/show_bug.cgi?id=109238
2007 Reviewed by David Kilzer.
2009 * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
2010 wkCGContextDrawsWithCorrectShadowOffsets on iOS.
2012 2013-02-07 Hans Muller <hmuller@adobe.com>
2014 [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
2015 https://bugs.webkit.org/show_bug.cgi?id=107566
2017 Reviewed by David Hyatt.
2019 Improve ExclusionPolygon::firstIncludedIntervalLogicalTop() performance by only
2020 creating offset edges for polygon edges that are below the horizontal minLogicalIntervalTop
2021 line. In other words, don't bother creating offset edges that can't define the polygon's
2024 Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
2026 * rendering/ExclusionPolygon.cpp:
2027 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
2029 2013-02-07 Jer Noble <jer.noble@apple.com>
2031 Improve logging of MediaPlayerPrivateAVFoundation Notifications.
2032 https://bugs.webkit.org/show_bug.cgi?id=109223
2034 Reviewed by Eric Carlson.
2036 Convert the existing Notification enum to an expandable macro. Then add a
2037 Logging-only function which stringifies the enums.
2039 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2041 (WebCore::notificationName):
2042 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
2043 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2044 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2046 2013-02-07 Martin Robinson <mrobinson@igalia.com>
2048 [GTK] Cleanup command-line defines
2049 https://bugs.webkit.org/show_bug.cgi?id=109213
2051 Reviewed by Xan Lopez.
2053 * GNUmakefile.am: Remove references to flags that are now handled
2054 via autotoolsconfig.h.
2056 2013-02-07 Tom Sepez <tsepez@chromium.org>
2058 [V8] Binding Integrity crash in V8MediaStream::createWrapper
2059 https://bugs.webkit.org/show_bug.cgi?id=109211
2061 Reviewed by Adam Barth.
2063 Patch suppresses a chrome crasher.
2065 * Modules/mediastream/MediaStream.idl:
2067 2013-02-07 Eric Carlson <eric.carlson@apple.com>
2069 [Mac] decrease in-band caption advance notice interval
2070 https://bugs.webkit.org/show_bug.cgi?id=109190
2072 Reviewed by Simon Fraser.
2074 No new tests, no observable change in behavior.
2076 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2077 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
2079 2013-02-07 ChangSeok Oh <shivamidow@gmail.com>
2081 [GTK][AC] Clutter required version up to 1.12
2082 https://bugs.webkit.org/show_bug.cgi?id=109037
2084 Reviewed by Martin Robinson.
2086 Replace deprecated clutter apis with new ones.
2088 No new tests, since this patch is minor refactoring.
2090 * platform/graphics/clutter/GraphicsLayerActor.cpp:
2091 (graphicsLayerActorSetAnchorPoint):
2092 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2093 (WebCore::idleDestroy):
2094 (WebCore::GraphicsLayerClutter::updateSublayerList):
2096 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
2098 Move pauseAnimation/pauseTransition from TestRunner to Internals
2099 https://bugs.webkit.org/show_bug.cgi?id=109107
2101 Reviewed by Anders Carlsson.
2103 Tests: animations/animation-internals-api-multiple-keyframes.html
2104 animations/animation-internals-api.html
2106 * testing/Internals.cpp:
2107 (WebCore::Internals::pauseAnimationAtTimeOnElement):
2109 (WebCore::Internals::pauseTransitionAtTimeOnElement):
2110 * testing/Internals.h:
2112 * testing/Internals.idl:
2114 2013-02-07 Gavin Peters <gavinp@chromium.org>
2116 Unreviewed, rolling out r142155.
2117 http://trac.webkit.org/changeset/142155
2118 https://bugs.webkit.org/show_bug.cgi?id=82888
2122 * bindings/js/JSClipboardCustom.cpp:
2123 (WebCore::JSClipboard::types):
2124 * bindings/v8/custom/V8ClipboardCustom.cpp:
2125 (WebCore::V8Clipboard::typesAccessorGetter):
2128 * platform/blackberry/ClipboardBlackBerry.cpp:
2129 (WebCore::ClipboardBlackBerry::types):
2130 * platform/blackberry/ClipboardBlackBerry.h:
2131 (ClipboardBlackBerry):
2132 * platform/chromium/ChromiumDataObject.cpp:
2133 (WebCore::ChromiumDataObject::types):
2134 * platform/chromium/ChromiumDataObject.h:
2135 (ChromiumDataObject):
2136 * platform/chromium/ClipboardChromium.cpp:
2137 (WebCore::ClipboardChromium::types):
2138 * platform/chromium/ClipboardChromium.h:
2139 (ClipboardChromium):
2140 * platform/efl/ClipboardEfl.cpp:
2141 (WebCore::ClipboardEfl::types):
2142 * platform/efl/ClipboardEfl.h:
2144 * platform/gtk/ClipboardGtk.cpp:
2145 (WebCore::ClipboardGtk::types):
2146 * platform/gtk/ClipboardGtk.h:
2148 * platform/mac/ClipboardMac.h:
2150 * platform/mac/ClipboardMac.mm:
2151 (WebCore::addHTMLClipboardTypesForCocoaType):
2152 (WebCore::ClipboardMac::types):
2153 * platform/qt/ClipboardQt.cpp:
2154 (WebCore::ClipboardQt::types):
2155 * platform/qt/ClipboardQt.h:
2157 * platform/win/ClipboardWin.cpp:
2158 (WebCore::addMimeTypesForFormat):
2159 (WebCore::ClipboardWin::types):
2160 * platform/win/ClipboardWin.h:
2163 2013-02-07 Rik Cabanier <cabanier@adobe.com>
2165 Add support for parsing of -webkit-background-blend-mode
2166 https://bugs.webkit.org/show_bug.cgi?id=108547
2168 Reviewed by David Hyatt.
2170 Added parsing and general CSS handling of -webkit-background-blend-mode per
2171 https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
2173 Tests: css3/compositing/background-blend-mode-property-parsing.html
2174 css3/compositing/background-blend-mode-property.html
2176 * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
2178 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2179 * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
2180 (WebCore::CSSParser::parseValue):
2181 (WebCore::CSSParser::parseFillProperty):
2182 * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
2183 (WebCore::CSSProperty::isInheritedProperty):
2184 * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
2185 * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
2186 (WebCore::CSSToStyleMap::mapFillBlendMode):
2188 * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
2190 * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
2191 (WebCore::StyleBuilder::StyleBuilder):
2192 * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
2193 (WebCore::FillLayer::FillLayer):
2194 (WebCore::FillLayer::operator=):
2195 (WebCore::FillLayer::operator==):
2196 (WebCore::FillLayer::fillUnsetProperties):
2197 * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
2198 (WebCore::FillLayer::blendMode):
2199 (WebCore::FillLayer::isBlendModeSet):
2200 (WebCore::FillLayer::setBlendMode):
2201 (WebCore::FillLayer::clearBlendMode):
2202 (WebCore::FillLayer::initialFillBlendMode):
2205 2013-02-07 Gavin Peters <gavinp@chromium.org>
2207 Unreviewed, rolling out r142142.
2208 http://trac.webkit.org/changeset/142142
2209 https://bugs.webkit.org/show_bug.cgi?id=109154
2211 Mac expectations were not right. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
2214 * inspector/front-end/DefaultTextEditor.js:
2215 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2217 2013-02-07 Gavin Peters <gavinp@chromium.org>
2219 Unreviewed, rolling out r142081.
2220 http://trac.webkit.org/changeset/142081
2221 https://bugs.webkit.org/show_bug.cgi?id=109146
2223 The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
2225 See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
2227 * dom/WebCoreMemoryInstrumentation.cpp:
2229 * inspector/front-end/NativeMemorySnapshotView.js:
2230 (WebInspector.MemoryBlockViewProperties._initialize):
2231 * platform/PlatformMemoryInstrumentation.cpp:
2234 2013-02-07 Bear Travis <betravis@adobe.com>
2236 [CSS Exclusions] shape-inside does not properly handle padding or border
2237 https://bugs.webkit.org/show_bug.cgi?id=102715
2239 Reviewed by David Hyatt.
2241 This patch positions the exclusion shape based on the value of the css box sizing
2242 property. Geometry calculations happen in the shape coordinate space. For layout,
2243 these coordinates are translated to the border-box coordinate system by adding
2244 the appropriate offsets.
2246 Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
2248 * rendering/ExclusionShapeInfo.cpp:
2249 (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
2251 * rendering/ExclusionShapeInfo.h:
2252 (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
2253 shape dimensions when checking to see if the shape geometry must be recalculated.
2254 (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
2255 (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
2256 (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
2257 (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
2258 (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
2259 top of the border box to the logical top of the shape.
2260 (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
2261 left of the border box to the logical left of the shape.
2262 (ExclusionShapeInfo):
2263 * rendering/ExclusionShapeInsideInfo.cpp:
2264 (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
2265 be in shape coordinates.
2266 (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
2267 * rendering/ExclusionShapeInsideInfo.h:
2268 (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
2269 coordinate system (border box) to test for whether a line overlaps a shape.
2270 (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
2271 from the border box.
2272 (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
2274 2013-02-07 Benjamin Poulain <bpoulain@apple.com>
2276 Upstream iOS isWebThread() and isUIThread()
2277 https://bugs.webkit.org/show_bug.cgi?id=109130
2279 Reviewed by Sam Weinig.
2281 * bindings/objc/WebScriptObject.mm:
2282 (+[WebScriptObject initialize]):
2283 * platform/mac/SharedBufferMac.mm:
2284 (+[WebCoreSharedBufferData initialize]):
2285 #ifdef out the legacy initialization as it is not correct when
2288 2013-02-07 Vivek Galatage <vivek.vg@samsung.com>
2290 Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
2291 https://bugs.webkit.org/show_bug.cgi?id=107937
2293 Reviewed by Yury Semikhatsky.
2295 The DOM storage agent will fire an event to the frontend based on the action
2296 performed on the storage. Based on this action, the front-end will just add/update/remove
2297 the entry in the view. This enhances the front-end responsiveness as the round trip
2298 for fetching the storage entries has been eliminated.
2300 Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
2302 * inspector/Inspector.json:
2303 * inspector/InspectorDOMStorageAgent.cpp:
2304 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2305 * inspector/front-end/DOMStorage.js:
2306 (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
2307 (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
2308 (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
2309 (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
2310 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
2311 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
2312 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
2313 (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
2314 * inspector/front-end/DOMStorageItemsView.js:
2315 (WebInspector.DOMStorageItemsView):
2316 (WebInspector.DOMStorageItemsView.prototype.wasShown):
2317 (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
2318 (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
2319 (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
2320 (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
2321 (WebInspector.DOMStorageItemsView.prototype._update):
2322 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
2323 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
2324 (WebInspector.DOMStorageItemsView.prototype._editingCallback):
2325 (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
2326 * inspector/front-end/ResourcesPanel.js:
2327 (WebInspector.ResourcesPanel):
2328 (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
2329 (WebInspector.ResourcesPanel.prototype._showDOMStorage):
2331 2013-02-07 Dan Carney <dcarney@google.com>
2333 [v8] move persistent::new and ::dispose into same class
2334 https://bugs.webkit.org/show_bug.cgi?id=109065
2336 Reviewed by Adam Barth.
2338 No new tests. No change in functionality.
2340 * bindings/scripts/CodeGeneratorV8.pm:
2341 (GenerateSingleConstructorCallback):
2342 (GenerateEventConstructorCallback):
2343 (GenerateNamedConstructorCallback):
2344 (GenerateToV8Converters):
2345 * bindings/scripts/test/V8/V8Float64Array.cpp:
2346 (WebCore::V8Float64Array::createWrapper):
2347 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2348 (WebCore::V8TestActiveDOMObject::createWrapper):
2349 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2350 (WebCore::V8TestCustomNamedGetter::createWrapper):
2351 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2352 (WebCore::V8TestEventConstructor::constructorCallback):
2353 (WebCore::V8TestEventConstructor::createWrapper):
2354 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2355 (WebCore::V8TestEventTarget::createWrapper):
2356 * bindings/scripts/test/V8/V8TestException.cpp:
2357 (WebCore::V8TestException::createWrapper):
2358 * bindings/scripts/test/V8/V8TestInterface.cpp:
2359 (WebCore::V8TestInterface::constructorCallback):
2360 (WebCore::V8TestInterface::createWrapper):
2361 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2362 (WebCore::V8TestMediaQueryListListener::createWrapper):
2363 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2364 (WebCore::V8TestNamedConstructorConstructorCallback):
2365 (WebCore::V8TestNamedConstructor::createWrapper):
2366 * bindings/scripts/test/V8/V8TestNode.cpp:
2367 (WebCore::V8TestNode::constructorCallback):
2368 (WebCore::V8TestNode::createWrapper):
2369 * bindings/scripts/test/V8/V8TestObj.cpp:
2370 (WebCore::V8TestObj::constructorCallback):
2371 (WebCore::V8TestObj::createWrapper):
2372 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2373 (WebCore::V8TestOverloadedConstructors::constructor1Callback):
2374 (WebCore::V8TestOverloadedConstructors::constructor2Callback):
2375 (WebCore::V8TestOverloadedConstructors::constructor3Callback):
2376 (WebCore::V8TestOverloadedConstructors::constructor4Callback):
2377 (WebCore::V8TestOverloadedConstructors::createWrapper):
2378 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2379 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2380 (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
2381 * bindings/v8/DOMDataStore.cpp:
2382 * bindings/v8/DOMDataStore.h:
2383 (WebCore::DOMDataStore::setWrapper):
2385 (WebCore::DOMDataStore::set):
2386 (WebCore::DOMDataStore::setWrapperInObject):
2387 * bindings/v8/DOMWrapperMap.h:
2388 (WebCore::DOMWrapperMap::get):
2389 (WebCore::DOMWrapperMap::set):
2390 (WebCore::DOMWrapperMap::removeAndDispose):
2391 (WebCore::DOMWrapperMap::defaultWeakCallback):
2392 * bindings/v8/ScriptWrappable.h:
2393 (WebCore::ScriptWrappable::wrapper):
2394 (WebCore::ScriptWrappable::setWrapper):
2395 (WebCore::ScriptWrappable::reportMemoryUsage):
2397 (WebCore::ScriptWrappable::disposeWrapper):
2398 (WebCore::ScriptWrappable::weakCallback):
2399 * bindings/v8/V8DOMWindowShell.cpp:
2400 (WebCore::V8DOMWindowShell::installDOMWindow):
2401 * bindings/v8/V8DOMWrapper.h:
2403 (WebCore::V8DOMWrapper::associateObjectWithWrapper):
2404 * bindings/v8/V8NPObject.cpp:
2405 (WebCore::weakNPObjectCallback):
2406 (WebCore::createV8ObjectForNPObject):
2407 (WebCore::forgetV8ObjectForNPObject):
2408 * bindings/v8/WorkerScriptController.cpp:
2409 (WebCore::WorkerScriptController::initializeContextIfNeeded):
2410 * bindings/v8/WrapperTypeInfo.h:
2412 (WrapperConfiguration):
2413 (WebCore::WrapperConfiguration::configureWrapper):
2414 (WebCore::buildWrapperConfiguration):
2415 * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2416 (WebCore::V8ArrayBuffer::constructorCallbackCustom):
2417 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2418 (WebCore::wrapArrayBufferView):
2419 (WebCore::constructWebGLArray):
2420 * bindings/v8/custom/V8AudioContextCustom.cpp:
2421 (WebCore::V8AudioContext::constructorCallbackCustom):
2422 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2423 (WebCore::V8DOMFormData::constructorCallbackCustom):
2424 * bindings/v8/custom/V8DataViewCustom.cpp:
2425 (WebCore::V8DataView::constructorCallbackCustom):
2426 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2427 (WebCore::v8HTMLImageElementConstructorCallback):
2428 * bindings/v8/custom/V8IntentCustom.cpp:
2429 (WebCore::V8Intent::constructorCallbackCustom):
2430 * bindings/v8/custom/V8MessageChannelCustom.cpp:
2431 (WebCore::V8MessageChannel::constructorCallbackCustom):
2432 * bindings/v8/custom/V8MutationObserverCustom.cpp:
2433 (WebCore::V8MutationObserver::constructorCallbackCustom):
2434 * bindings/v8/custom/V8WebKitPointCustom.cpp:
2435 (WebCore::V8WebKitPoint::constructorCallbackCustom):
2436 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2437 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
2439 2013-02-07 Zan Dobersek <zdobersek@igalia.com>
2441 [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
2442 https://bugs.webkit.org/show_bug.cgi?id=109198
2444 Reviewed by Martin Robinson.
2446 * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
2448 2013-02-07 Vineet Chaudhary <rgf748@motorola.com>
2450 Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
2451 https://bugs.webkit.org/show_bug.cgi?id=82888
2453 Reviewed by Kentaro Hara.
2455 As part of removing custom bindings of types Array Clipboard::types() needs to return
2456 Vector<String> than ListHashSet<String>
2458 No new tests. Existing test should pass with this change as no behavoural changes.
2460 * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
2461 (WebCore::JSClipboard::types):
2462 * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
2463 (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
2464 * dom/Clipboard.h: Ditto.
2465 * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
2466 (WebCore::ClipboardBlackBerry::types):
2467 * platform/blackberry/ClipboardBlackBerry.h: Ditto.
2468 * platform/chromium/ChromiumDataObject.cpp: Ditto.
2469 (WebCore::ChromiumDataObject::types):
2470 * platform/chromium/ChromiumDataObject.h: Ditto.
2471 * platform/chromium/ClipboardChromium.cpp: Ditto.
2472 (WebCore::ClipboardChromium::types):
2473 * platform/chromium/ClipboardChromium.h: Ditto.
2474 * platform/efl/ClipboardEfl.cpp: Ditto.
2475 (WebCore::ClipboardEfl::types):
2476 * platform/efl/ClipboardEfl.h: Ditto.
2477 * platform/gtk/ClipboardGtk.cpp: Ditto.
2478 (WebCore::ClipboardGtk::types):
2479 * platform/gtk/ClipboardGtk.h: Ditto.
2480 * platform/mac/ClipboardMac.h: Ditto.
2481 * platform/mac/ClipboardMac.mm: Ditto.
2482 (WebCore::addHTMLClipboardTypesForCocoaType):
2483 (WebCore::ClipboardMac::types):
2484 * platform/qt/ClipboardQt.cpp: Ditto.
2485 (WebCore::ClipboardQt::types):
2486 * platform/qt/ClipboardQt.h: Ditto.
2487 * platform/win/ClipboardWin.cpp: Ditto.
2488 (WebCore::addMimeTypesForFormat):
2489 (WebCore::ClipboardWin::types):
2490 * platform/win/ClipboardWin.h: Ditto.
2492 2013-02-07 Kentaro Hara <haraken@chromium.org>
2494 [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
2495 https://bugs.webkit.org/show_bug.cgi?id=109123
2497 Reviewed by Adam Barth.
2499 Currently StringCache::m_stringCache is implemented as
2500 HashMap<StringImpl*, v8::String*>. Given that v8::String*
2501 can change when a GC is triggered, it is dangerous to store a raw pointer.
2502 We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
2504 This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
2505 although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
2507 No tests. This change highly depends on GC behavior and thus it is
2508 difficult to make a reliable test case.
2510 * bindings/v8/V8ValueCache.cpp:
2511 (WebCore::makeExternalString):
2512 * bindings/v8/V8ValueCache.h:
2515 2013-01-27 Robert Hogan <robert@webkit.org>
2517 CSS 2.1 failure: floats-149 fails
2518 https://bugs.webkit.org/show_bug.cgi?id=95772
2520 Reviewed by David Hyatt.
2522 Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
2524 Tests: fast/inline/inline-with-empty-inline-children.html
2525 css2.1/20110323/floats-149.htm
2527 * rendering/InlineIterator.h:
2528 (WebCore::isEmptyInline):
2529 * rendering/RenderBlockLineLayout.cpp:
2530 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
2531 objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping
2532 through leading whitespace.
2534 2013-02-07 peavo@outlook.com <peavo@outlook.com>
2536 [WinCairo] Compile fix after r141981
2537 https://bugs.webkit.org/show_bug.cgi?id=109184
2539 Reviewed by Brent Fulgham.
2541 * platform/network/curl/ResourceHandleCurl.cpp:
2542 (WebCore::ResourceHandle::loadResourceSynchronously):
2544 2013-02-07 Otto Derek Cheung <otcheung@rim.com>
2546 [BlackBerry] Cookie database isn't loaded into memory in some rare cases
2547 https://bugs.webkit.org/show_bug.cgi?id=109202
2550 Reviewed by Yong Li.
2551 Internally Reviewed by Konrad Piascik.
2553 If a get/setCookie call is made before the database is loaded, or if there's some
2554 kind of error that causes the loading of the database to fail in the constructor
2555 of CookieManager, the browser will get into a state where it seems like cookie is
2556 permanenty disabled.
2558 Instead of logging the errors and redispatching the setCookie, we should do a force sync
2559 to load the cookie database before continuing.
2561 Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
2562 to make sure the code path is correct:
2563 1) Make sure original implementation is retained - open and loading done in the constructor
2564 2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
2565 an initial lag because we are blocking WKT while performing SQLite options).
2566 3) Removed loading in constructor, the new calls loaded the db just fine.
2568 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
2569 (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
2571 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
2572 (CookieDatabaseBackingStore):
2573 * platform/blackberry/CookieManager.cpp:
2574 (WebCore::CookieManager::setCookies):
2575 (WebCore::CookieManager::getCookie):
2576 (WebCore::CookieManager::generateHtmlFragmentForCookies):
2577 (WebCore::CookieManager::getRawCookies):
2579 2013-02-07 Max Vujovic <mvujovic@adobe.com>
2581 [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
2582 https://bugs.webkit.org/show_bug.cgi?id=109082
2584 Reviewed by Dean Jackson.
2586 Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
2588 Tests: css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
2589 css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
2591 * page/DOMWindow.idl:
2593 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
2595 Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
2596 https://bugs.webkit.org/show_bug.cgi?id=109201
2598 Reviewed by Pavel Feldman.
2600 * inspector/front-end/NetworkUISourceCodeProvider.js:
2601 (WebInspector.NetworkUISourceCodeProvider):
2602 * inspector/front-end/inspector.js:
2604 2013-02-07 Jessie Berlin <jberlin@apple.com>
2606 REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
2608 https://bugs.webkit.org/show_bug.cgi?id=109196
2610 Reviewed by Eric Carlson.
2612 * English.lproj/Localizable.strings:
2613 Updated for the changes.
2614 * platform/LocalizedStrings.cpp:
2615 (WebCore::unknownFileSizeText):
2617 (WebCore::textTrackNoLabelText):
2620 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
2622 Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
2623 https://bugs.webkit.org/show_bug.cgi?id=109197
2625 Reviewed by Pavel Feldman.
2627 Javascript syntax errors in console are now linkified so that they show sources panel by default.
2629 * inspector/front-end/ResourceUtils.js:
2630 (WebInspector.linkifyResourceAsNode):
2632 2013-02-07 Eberhard Graether <egraether@google.com>
2634 Web Inspector: Add settings checkbox for composited layer borders
2635 https://bugs.webkit.org/show_bug.cgi?id=109096
2637 Reviewed by Pavel Feldman.
2639 This change adds a checkbox to show composited layer borders to the WebInspector's
2640 rendering settings and plumbs the setting to Chromium's WebLayerTreeView. The setting
2641 is visible if InspectorClient::canShowDebugBorders() returns true.
2645 * English.lproj/localizedStrings.js:
2646 * inspector/Inspector.json:
2647 * inspector/InspectorClient.h:
2648 (WebCore::InspectorClient::canShowDebugBorders):
2649 (WebCore::InspectorClient::setShowDebugBorders):
2651 * inspector/InspectorPageAgent.cpp:
2653 (WebCore::InspectorPageAgent::restore):
2654 (WebCore::InspectorPageAgent::disable):
2655 (WebCore::InspectorPageAgent::canShowDebugBorders):
2657 (WebCore::InspectorPageAgent::setShowDebugBorders):
2658 * inspector/InspectorPageAgent.h:
2659 * inspector/front-end/Settings.js:
2660 * inspector/front-end/SettingsScreen.js:
2661 (WebInspector.GenericSettingsTab):
2662 (WebInspector.GenericSettingsTab.prototype.get _showDebugBordersChanged):
2663 * inspector/front-end/inspector.js:
2664 (WebInspector.doLoadedDone):
2666 2013-02-07 Gavin Peters <gavinp@chromium.org>
2668 Unreviewed, rolling out r142141.
2669 http://trac.webkit.org/changeset/142141
2670 https://bugs.webkit.org/show_bug.cgi?id=108990
2672 Reland r142112, will update Chromium expectations and create a
2673 Chromium bug instead for the crash.
2678 * page/scrolling/ScrollingCoordinator.cpp:
2679 (WebCore::ScrollingCoordinator::create):
2680 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
2682 (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2683 (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
2684 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
2686 (ScrollingCoordinatorCoordinatedGraphics):
2687 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2688 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
2690 (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2691 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2692 (CoordinatedGraphicsLayerClient):
2693 (CoordinatedGraphicsLayer):
2695 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org>
2697 Web Inspector: home button behaviour is wrong in DTE
2698 https://bugs.webkit.org/show_bug.cgi?id=109154
2700 Reviewed by Vsevolod Vlasov.
2702 Handle home key shortcut explicitly in TextEditorMainPanel.
2704 New test: inspector/editor/text-editor-home-button.html
2706 * inspector/front-end/DefaultTextEditor.js:
2707 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2708 (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
2710 2013-02-07 Gavin Peters <gavinp@chromium.org>
2712 Unreviewed, rolling out r142112.
2713 http://trac.webkit.org/changeset/142112
2714 https://bugs.webkit.org/show_bug.cgi?id=108990
2716 The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
2718 See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
2723 * page/scrolling/ScrollingCoordinator.cpp:
2724 (WebCore::ScrollingCoordinator::create):
2725 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
2726 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
2727 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2728 (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2729 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2730 (CoordinatedGraphicsLayerClient):
2731 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
2733 2013-02-07 Allan Sandfeld Jensen <allan.jensen@digia.com>
2735 Scrollbars misplaced with accelerated compositing for overflow scroll
2736 https://bugs.webkit.org/show_bug.cgi?id=108625
2738 Reviewed by Simon Fraser.
2740 Scrollbars require their own layer if overflow scroll is composited,
2741 otherwise the scrollbars would be rendered on the content layer and
2742 not fixed to the viewport.
2744 * rendering/RenderLayerBacking.cpp:
2745 (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
2746 (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
2747 (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
2749 2013-02-07 Mike West <mkwst@chromium.org>
2751 Don't ASSERT things about uninitialized variables.
2752 https://bugs.webkit.org/show_bug.cgi?id=109187
2754 Reviewed by Jochen Eisinger.
2756 Rather than ASSERTing that an uninitialized ExceptionCode is non-zero
2757 after some method executes, we should use the ASSERT_NO_EXCEPTION macro.
2759 * editing/markup.cpp:
2760 (WebCore::removeElementPreservingChildren):
2762 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org>
2764 Web Inspector: [Regression] breakpoint condition not editable
2765 https://bugs.webkit.org/show_bug.cgi?id=109183
2767 Reviewed by Vsevolod Vlasov.
2769 Improve TextEditorMainPanel.selection() method to return null if the
2770 selection is set inside of decoration element.
2774 * inspector/front-end/DOMExtension.js:
2775 (Node.prototype.enclosingNodeOrSelfWithClass): Improve to add iteration boundary.
2776 * inspector/front-end/DefaultTextEditor.js:
2777 (WebInspector.TextEditorMainPanel.prototype.selection):
2779 2013-02-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2781 [WK2][EFL][QT]REGRESSION(r142045): Scrolling is broken
2782 https://bugs.webkit.org/show_bug.cgi?id=109185
2784 Reviewed by Kenneth Rohde Christiansen.
2786 This patch is disabling paints clipping logic added at r142045 for the case
2787 when the view should render the entire contents (case of using tiled backing store).
2789 No new tests, covered by plenty of existing manual tests that allow scrolling
2790 (for example fixed-position.html).
2792 * platform/ScrollView.cpp:
2793 (WebCore::ScrollView::paint):
2795 2013-02-07 Vladislav Kaznacheev <kaznacheev@chromium.org>
2797 Web Inspector: Show elements and sources sidebar panes in a tabbed pane when they are below the main pane
2798 https://bugs.webkit.org/show_bug.cgi?id=107552
2800 Reviewed by Pavel Feldman.
2802 Removed the aspect ratio detection logic and implemented explicit user action "Split Horizontally" available
2803 in Elements and Sources panels. When split horizontally the sidebar panes are organized into a tabbed pane.
2804 This user action is behind an experimental flag.
2808 * inspector/front-end/ContextMenu.js:
2809 (WebInspector.ContextMenu.prototype.show):
2810 * inspector/front-end/DOMBreakpointsSidebarPane.js:
2811 (WebInspector.DOMBreakpointsSidebarPane.prototype.createProxy):
2812 (WebInspector.DOMBreakpointsSidebarPane.prototype.onContentReady):
2813 (WebInspector.DOMBreakpointsSidebarPane.Proxy):
2814 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expanded):
2815 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expand):
2816 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.collapse):
2817 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.onContentReady):
2818 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.wasShown):
2819 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
2820 * inspector/front-end/ElementsPanel.js:
2821 (WebInspector.ElementsPanel):
2822 (WebInspector.ElementsPanel.prototype._populateContextMenu):
2823 * inspector/front-end/ScriptsPanel.js:
2824 (WebInspector.ScriptsPanel.prototype._clearInterface):
2825 (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
2826 (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
2827 * inspector/front-end/Settings.js:
2828 (WebInspector.ExperimentsSettings):
2829 * inspector/front-end/SidebarPane.js:
2830 (WebInspector.SidebarPane):
2831 (WebInspector.SidebarPane.prototype.prepareContent):
2832 (WebInspector.SidebarPane.prototype.expanded):
2833 (WebInspector.SidebarPane.prototype.expand):
2834 (WebInspector.SidebarPane.prototype.collapse):
2835 (WebInspector.SidebarPane.prototype.onContentReady):
2836 (WebInspector.SidebarPane.prototype._setExpandCallback):
2837 (WebInspector.SidebarPaneStack.prototype.addPane):
2838 (WebInspector.SidebarPaneStack.prototype.activePaneId):
2839 (WebInspector.SidebarPaneStack.prototype.setActivePaneId):
2840 (WebInspector.SidebarPaneStack.prototype._setExpanded):
2841 (WebInspector.SidebarPaneStack.prototype._onPaneExpanded):
2842 (WebInspector.SidebarPaneStack.prototype._collapsePane):
2843 (WebInspector.SidebarTabbedPane):
2844 (WebInspector.SidebarTabbedPane.prototype.addPane):
2845 (WebInspector.SidebarTabbedPane.prototype.activePaneId):
2846 (WebInspector.SidebarTabbedPane.prototype.setActivePaneId):
2847 (WebInspector.SidebarPaneGroup):
2848 (WebInspector.SidebarPaneGroup.prototype.setStacked):
2849 (WebInspector.SidebarPaneGroup.prototype.addPane):
2850 (WebInspector.SidebarPaneGroup.prototype.attachToPanel):
2851 (WebInspector.SidebarPaneGroup.prototype.populateContextMenu.toggleSplitDirection):
2852 (WebInspector.SidebarPaneGroup.prototype.get _contextMenuEventFired):
2853 (WebInspector.SidebarPaneGroup.prototype._onSplitDirectionSettingChanged):
2854 * inspector/front-end/SidebarView.js:
2855 (WebInspector.SidebarView):
2856 (WebInspector.SidebarView.prototype._updateSidebarElementStyle):
2857 (WebInspector.SidebarView.prototype.setVertical):
2858 (WebInspector.SidebarView.prototype.onResize):
2859 * inspector/front-end/StylesSidebarPane.js:
2860 (WebInspector.ComputedStyleSidebarPane.prototype.wasShown):
2861 (WebInspector.ComputedStyleSidebarPane.prototype.prepareContent):
2862 * inspector/front-end/inspector.css:
2863 (.sidebar-pane .section .properties, .event-bar .event-properties):
2865 (.sidebar-pane-toolbar):
2866 (.sidebar-pane-toolbar > *):
2867 (.sidebar-pane-toolbar > select):
2868 (.sidebar-pane-toolbar > select:hover):
2869 (.sidebar-pane-toolbar > select:active):
2870 (.sidebar-pane-toolbar > select.select-settings):
2871 (.sidebar-pane-toolbar > select.select-filter):
2872 (.sidebar-pane-toolbar > select > option, .sidebar-pane-toolbar > select > hr):
2873 (.sidebar-pane-toolbar > .pane-title-button):
2874 (.sidebar-pane-toolbar > .pane-title-button:hover):
2875 (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
2876 (.sidebar-pane-toolbar > .pane-title-button.add):
2877 (.sidebar-pane-toolbar > .pane-title-button.element-state):
2878 (.sidebar-pane-toolbar > .pane-title-button.refresh):
2880 (.sidebar-pane > .body):
2881 (.sidebar-pane > .body .info):
2882 (.sidebar-pane > .body .placard + .info):
2883 (.sidebar-pane.visible > .body):
2884 (.sidebar-pane > .body .breakpoint-condition):
2885 (.sidebar-pane.visible:nth-last-of-type(1)):
2886 (.sidebar-pane-subtitle):
2887 (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
2888 (.sidebar-pane .breakpoint-hit):
2890 2013-02-07 Gavin Peters <gavinp@chromium.org>
2892 Unreviewed, rolling out r142111.
2893 http://trac.webkit.org/changeset/142111
2894 https://bugs.webkit.org/show_bug.cgi?id=108055
2896 win7 bot didn't display Arabic, see http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=platform%2Fchromium%2Ffast%2Fforms%2Fcalendar-picker%2Fcalendar-picker-appearance-required-ar.html
2898 * Resources/pagepopups/calendarPicker.css:
2899 (.today-clear-area .today-button):
2900 * Resources/pagepopups/calendarPicker.js:
2901 (CalendarPicker.prototype.fixWindowSize):
2903 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
2905 Web Inspector: [Regression] Map.size() returns negative values.
2906 https://bugs.webkit.org/show_bug.cgi?id=109174
2908 Reviewed by Yury Semikhatsky.
2910 * inspector/front-end/utilities.js:
2912 2013-02-07 Pavel Feldman <pfeldman@chromium.org>
2914 Web Inspector: break details are only rendered upon first debugger pause.
2915 https://bugs.webkit.org/show_bug.cgi?id=109193
2917 Reviewed by Vsevolod Vlasov.
2919 * inspector/front-end/CallStackSidebarPane.js:
2920 (WebInspector.CallStackSidebarPane.prototype.update):
2922 2013-02-07 Gavin Peters <gavinp@chromium.org>
2924 Unreviewed, rolling out r142118.
2925 http://trac.webkit.org/changeset/142118
2926 https://bugs.webkit.org/show_bug.cgi?id=109044
2930 * Modules/indexeddb/IDBCursor.cpp:
2931 (WebCore::IDBCursor::direction):
2932 * Modules/indexeddb/IDBObjectStore.cpp:
2934 * Modules/indexeddb/IDBTransaction.cpp:
2935 (WebCore::IDBTransaction::mode):
2936 * dom/ContainerNode.cpp:
2937 (WebCore::ContainerNode::takeAllChildrenFrom):
2939 (WebCore::Document::setTitle):
2940 * dom/MessagePort.cpp:
2941 (WebCore::MessagePort::dispatchMessages):
2942 (WebCore::MessagePort::disentanglePorts):
2943 * editing/DeleteButtonController.cpp:
2944 (WebCore::enclosingDeletableElement):
2945 (WebCore::DeleteButtonController::createDeletionUI):
2946 (WebCore::DeleteButtonController::show):
2947 * editing/EditorCommand.cpp:
2948 (WebCore::unionDOMRanges):
2949 * editing/ReplaceNodeWithSpanCommand.cpp:
2950 (WebCore::swapInNodePreservingAttributesAndChildren):
2951 * editing/ReplaceSelectionCommand.cpp:
2952 (WebCore::ReplacementFragment::ReplacementFragment):
2953 (WebCore::ReplacementFragment::removeNode):
2954 (WebCore::ReplacementFragment::insertNodeBefore):
2955 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
2956 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2957 (WebCore::ReplaceSelectionCommand::insertAsListItems):
2958 * editing/SplitTextNodeCommand.cpp:
2959 (WebCore::SplitTextNodeCommand::doUnapply):
2960 * editing/TextIterator.cpp:
2961 (WebCore::CharacterIterator::range):
2962 (WebCore::BackwardsCharacterIterator::range):
2963 (WebCore::TextIterator::rangeFromLocationAndLength):
2964 (WebCore::collapsedToBoundary):
2965 * editing/htmlediting.cpp:
2966 (WebCore::createTabSpanElement):
2967 * editing/mac/EditorMac.mm:
2968 (WebCore::Editor::fontForSelection):
2969 (WebCore::Editor::fontAttributesForSelectionStart):
2970 * editing/markup.cpp:
2971 (WebCore::createMarkup):
2972 (WebCore::trimFragment):
2973 (WebCore::createFragmentFromMarkupWithContext):
2974 (WebCore::fillContainerFromString):
2975 (WebCore::createFragmentFromText):
2976 (WebCore::createFragmentFromNodes):
2977 * html/ColorInputType.cpp:
2978 (WebCore::ColorInputType::createShadowSubtree):
2979 * html/HTMLOptionsCollection.cpp:
2980 (WebCore::HTMLOptionsCollection::add):
2981 * html/HTMLTextAreaElement.cpp:
2982 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
2983 * html/HTMLTextFormControlElement.cpp:
2984 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
2985 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
2986 * html/TextFieldInputType.cpp:
2987 (WebCore::TextFieldInputType::updatePlaceholderText):
2988 * html/ValidationMessage.cpp:
2989 (WebCore::ValidationMessage::buildBubbleTree):
2990 * html/shadow/MediaControlElementTypes.cpp:
2991 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
2992 * inspector/InspectorPageAgent.cpp:
2993 (WebCore::InspectorPageAgent::getCookies):
2994 * inspector/InspectorStyleSheet.cpp:
2995 (WebCore::InspectorStyleSheet::addRule):
2996 * loader/appcache/ApplicationCacheHost.cpp:
2997 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
2998 * page/DOMSelection.cpp:
2999 (WebCore::DOMSelection::deleteFromDocument):
3000 * page/DragController.cpp:
3001 (WebCore::prepareClipboardForImageDrag):
3002 * rendering/RenderTextControl.cpp:
3003 (WebCore::RenderTextControl::visiblePositionForIndex):
3004 * rendering/style/SVGRenderStyle.h:
3005 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
3006 (WebCore::SVGRenderStyle::initialKerning):
3007 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
3008 (WebCore::SVGRenderStyle::initialStrokeWidth):
3009 * svg/SVGAnimatedLength.cpp:
3010 (WebCore::sharedSVGLength):
3011 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
3012 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
3013 * svg/SVGAnimatedLengthList.cpp:
3014 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
3015 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
3016 * svg/SVGLength.cpp:
3017 (WebCore::SVGLength::SVGLength):
3018 * svg/SVGTextContentElement.cpp:
3019 (WebCore::SVGTextContentElement::textLengthAnimated):
3020 * svg/animation/SVGSMILElement.cpp:
3021 (WebCore::constructQualifiedName):
3023 2013-02-07 Kentaro Hara <haraken@chromium.org>
3025 Remove #if USE(V8) from IDBRequest.h
3026 https://bugs.webkit.org/show_bug.cgi?id=109163
3028 Reviewed by Andreas Kling.
3030 The header included inside the #if USE(V8) macro is not used.
3031 We can simply remove it.
3033 No tests. No change in behavior.
3035 * Modules/indexeddb/IDBRequest.h:
3037 2013-02-07 Stephen Chenney <schenney@chromium.org>
3039 GraphicsContext::drawImageBuffer is inefficient
3040 https://bugs.webkit.org/show_bug.cgi?id=104367
3042 Reviewed by Dirk Schulze.
3044 This patch converts all of the drawImage and drawImageBuffer
3045 convenience methods (those that take parameters of various types) to
3046 invoke the implementing method (that takes FloatRect src and dest)
3047 directly, rather than through the next-most-convenient method as was
3048 done previously. This will knock some layers off the stack compared
3049 to the existing code, and may remove one or two constructor invocations.
3050 This may be slightly more efficient, and also makes debugging simpler.
3052 Also removes the unused drawImage method that takes and IntRect source
3053 area and IntRect destination. It is not invoked anywhere in a standard
3056 No new tests. No change in functionality, just refactoring.
3058 * platform/graphics/GraphicsContext.cpp:
3059 (WebCore::GraphicsContext::drawImage): Modify all the convenience versions to call
3060 the implementing version directly.
3061 (WebCore::GraphicsContext::drawImageBuffer): Modify all the convenience versions
3062 to call the implementing version directly.
3063 * platform/graphics/GraphicsContext.h:
3064 (GraphicsContext): Remove IntRect, IntRect version of drawImage.
3066 2013-02-07 Kent Tamura <tkent@chromium.org>
3068 Conversion from localized numbers to HTML numbers should accept not only localized numbers but also HTML numbers
3069 https://bugs.webkit.org/show_bug.cgi?id=109160
3071 Reviewed by Kentaro Hara.
3073 For example, A French user needs to specify a number to a number input
3074 field. He might use a local decimal point, like 3,141592, or he might
3075 use the standard decimal point like 3.141592. We had better accept both
3078 We accepted both last year, but we changed the behavior so that we
3079 accept only localized numbers because we had some cases where an input
3080 string can be recognized as both of a localized number and the standard
3081 number. e.g. 3.141 is 3141 in French locale and 3.141 in the
3082 standard. Now we introduce a simple rule that we don't accept group
3083 separator at all. So users won't confuse even if we accept both of
3086 Test: fast/forms/number/number-l10n-input.html
3088 * platform/text/PlatformLocale.cpp:
3089 (WebCore::Locale::convertFromLocalizedNumber):
3090 If the specified string contains invalid characters including group
3091 separators, just return the specified string.
3093 2013-02-07 Xiaobo Wang <xbwang@torchmobile.com.cn>
3095 [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
3096 https://bugs.webkit.org/show_bug.cgi?id=109126
3099 Reviewed by Yong Li.
3101 Change char code to 4 bytes.
3102 Need to convert UTF32 key char to UTF16 before constructing a WTF::String.
3104 * platform/PlatformKeyboardEvent.h:
3105 (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
3106 (PlatformKeyboardEvent):
3107 * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
3108 (WebCore::keyIdentifierForBlackBerryCharacter):
3109 (WebCore::windowsKeyCodeForBlackBerryCharacter):
3110 (WebCore::adjustCharacterFromOS):
3111 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3113 2013-02-07 Mike West <mkwst@chromium.org>
3115 Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
3116 https://bugs.webkit.org/show_bug.cgi?id=109044
3118 Reviewed by Darin Adler.
3122 ExceptionCode ec = 0;
3123 methodThatGeneratesException(ec);
3126 is more clearly and succinctly written as:
3128 methodThatGeneratesException(ASSERT_NO_EXCEPTION);
3130 This patch replaces the occurances of the former that never touch 'ec'
3131 again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
3132 a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
3133 where it does indeed matter that 'ec' get set properly.
3135 No change in behavior should result from this refactoring.
3137 * Modules/indexeddb/IDBCursor.cpp:
3138 (WebCore::IDBCursor::direction):
3139 * Modules/indexeddb/IDBObjectStore.cpp:
3141 * Modules/indexeddb/IDBTransaction.cpp:
3142 (WebCore::IDBTransaction::mode):
3143 * dom/ContainerNode.cpp:
3144 (WebCore::ContainerNode::takeAllChildrenFrom):
3146 (WebCore::Document::setTitle):
3147 * dom/MessagePort.cpp:
3148 (WebCore::MessagePort::dispatchMessages):
3149 (WebCore::MessagePort::disentanglePorts):
3150 * editing/DeleteButtonController.cpp:
3151 (WebCore::enclosingDeletableElement):
3152 (WebCore::DeleteButtonController::createDeletionUI):
3153 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3154 (WebCore::DeleteButtonController::show):
3155 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
3156 * editing/EditorCommand.cpp:
3157 (WebCore::unionDOMRanges):
3158 * editing/ReplaceNodeWithSpanCommand.cpp:
3159 (WebCore::swapInNodePreservingAttributesAndChildren):
3160 * editing/ReplaceSelectionCommand.cpp:
3161 (WebCore::ReplacementFragment::ReplacementFragment):
3162 (WebCore::ReplacementFragment::removeNode):
3163 (WebCore::ReplacementFragment::insertNodeBefore):
3164 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3165 (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
3166 (WebCore::ReplaceSelectionCommand::insertAsListItems):
3167 * editing/SplitTextNodeCommand.cpp:
3168 (WebCore::SplitTextNodeCommand::doUnapply):
3169 * editing/TextIterator.cpp:
3170 (WebCore::CharacterIterator::range):
3171 (WebCore::BackwardsCharacterIterator::range):
3172 (WebCore::TextIterator::rangeFromLocationAndLength):
3173 (WebCore::collapsedToBoundary):
3174 * editing/htmlediting.cpp:
3175 (WebCore::createTabSpanElement):
3176 * editing/mac/EditorMac.mm:
3177 (WebCore::Editor::fontForSelection):
3178 (WebCore::Editor::fontAttributesForSelectionStart):
3179 * editing/markup.cpp:
3180 (WebCore::createMarkup):
3181 (WebCore::trimFragment):
3182 (WebCore::createFragmentFromMarkupWithContext):
3183 (WebCore::fillContainerFromString):
3184 (WebCore::createFragmentFromText):
3185 (WebCore::createFragmentFromNodes):
3186 * html/ColorInputType.cpp:
3187 (WebCore::ColorInputType::createShadowSubtree):
3188 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3189 * html/HTMLOptionsCollection.cpp:
3190 (WebCore::HTMLOptionsCollection::add):
3191 Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
3192 * html/HTMLTextAreaElement.cpp:
3193 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
3194 * html/HTMLTextFormControlElement.cpp:
3195 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
3196 (WebCore::HTMLTextFormControlElement::setInnerTextValue):
3197 * html/TextFieldInputType.cpp:
3198 (WebCore::TextFieldInputType::updatePlaceholderText):
3199 * html/ValidationMessage.cpp:
3200 (WebCore::ValidationMessage::buildBubbleTree):
3201 * html/shadow/MediaControlElementTypes.cpp:
3202 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3203 * inspector/InspectorPageAgent.cpp:
3204 (WebCore::InspectorPageAgent::getCookies):
3205 * inspector/InspectorStyleSheet.cpp:
3206 (WebCore::InspectorStyleSheet::addRule):
3207 * loader/appcache/ApplicationCacheHost.cpp:
3208 (WebCore::ApplicationCacheHost::dispatchDOMEvent):
3209 * page/DOMSelection.cpp:
3210 (WebCore::DOMSelection::deleteFromDocument):
3211 * page/DragController.cpp:
3212 (WebCore::prepareClipboardForImageDrag):
3213 * rendering/RenderTextControl.cpp:
3214 (WebCore::RenderTextControl::visiblePositionForIndex):
3215 * rendering/style/SVGRenderStyle.h:
3216 (WebCore::SVGRenderStyle::initialBaselineShiftValue):
3217 (WebCore::SVGRenderStyle::initialKerning):
3218 (WebCore::SVGRenderStyle::initialStrokeDashOffset):
3219 (WebCore::SVGRenderStyle::initialStrokeWidth):
3220 * svg/SVGAnimatedLength.cpp:
3221 (WebCore::sharedSVGLength):
3222 (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
3223 (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
3224 * svg/SVGAnimatedLengthList.cpp:
3225 (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
3226 (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
3227 * svg/SVGLength.cpp:
3228 (WebCore::SVGLength::SVGLength):
3229 * svg/SVGTextContentElement.cpp:
3230 (WebCore::SVGTextContentElement::textLengthAnimated):
3231 * svg/animation/SVGSMILElement.cpp:
3232 (WebCore::constructQualifiedName):
3233 Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
3235 2013-02-07 Mary Wu <mary.wu@torchmobile.com.cn>
3237 [BlackBerry] Export mimeType in NetworkJob
3238 https://bugs.webkit.org/show_bug.cgi?id=109002
3240 Reviewed by Yong Li.
3242 NetworkJob will analysize resource mimetype and set it to resourceResponse,
3243 we will pass it on to be used by other Streams like download stream.
3245 RIM bug# 284408, internally reviewed by Liam Quinn.
3247 * platform/network/blackberry/NetworkJob.cpp:
3248 (WebCore::NetworkJob::mimeType):
3250 * platform/network/blackberry/NetworkJob.h:
3253 2013-02-07 Peter Rybin <prybin@chromium.org>
3255 Web Inspector: support JavaScript variable mutation in protocol and V8 bindings
3256 https://bugs.webkit.org/show_bug.cgi?id=107829
3258 A new command is added to protocol description and the call is passed through
3259 debugger agent through injected script and debugger script down to V8 mirror
3260 API. JSC bindings got a thorw exception stub.
3262 Only declarative JavaScript scopes are supported (local, closure, catch). Other
3263 scopes (global, with) are not supported by V8 and not supported by protocol, because
3264 manual approach (direct property assigment) is available for them in form of evaluate
3265 commands and is more desirable because of a complex nature of operation (it can throw
3266 exception in several cases such as exception in setter function).
3268 Reviewed by Pavel Feldman.
3270 Test: inspector-protocol/debugger-setVariableValue.html
3272 * bindings/js/JSInjectedScriptHostCustom.cpp:
3273 (WebCore::JSInjectedScriptHost::setFunctionVariableValue):
3275 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3276 (WebCore::JSJavaScriptCallFrame::setVariableValue):
3278 * bindings/v8/DebuggerScript.js:
3280 * bindings/v8/JavaScriptCallFrame.cpp:
3281 (WebCore::JavaScriptCallFrame::setVariableValue):
3283 * bindings/v8/JavaScriptCallFrame.h:
3284 (JavaScriptCallFrame):
3285 * bindings/v8/ScriptDebugServer.cpp:
3286 (WebCore::ScriptDebugServer::setFunctionVariableValue):
3288 * bindings/v8/ScriptDebugServer.h:
3289 (ScriptDebugServer):
3290 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3291 (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallback):
3293 * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3294 (WebCore::V8JavaScriptCallFrame::setVariableValueCallback):
3296 * inspector/InjectedScript.cpp:
3297 (WebCore::InjectedScript::setVariableValue):
3299 * inspector/InjectedScript.h:
3301 * inspector/InjectedScriptHost.idl:
3302 * inspector/InjectedScriptSource.js:
3304 * inspector/Inspector.json:
3305 * inspector/InspectorDebuggerAgent.cpp:
3306 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3307 (WebCore::InspectorDebuggerAgent::setVariableValue):
3309 * inspector/InspectorDebuggerAgent.h:
3310 (InspectorDebuggerAgent):
3311 * inspector/JavaScriptCallFrame.idl:
3313 2013-02-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
3315 [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
3316 https://bugs.webkit.org/show_bug.cgi?id=108990
3318 Reviewed by Noam Rosenthal.
3320 WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
3321 don't need to traverse the tree every frame to get this information.
3323 The function ScrollingCoordinator::setLayerIsFixedToContainerLayer() is called when
3324 RenderLayerBacking is updating its graphics layers.
3326 The new code also works in new situations where the previous was broken: if a layer changed
3327 from being fixed to not fixed (but still kept as a layer for other reasons), the layer will
3328 be correctly updated. Previous implementation only had logic to mark layers as fixed, but
3329 not the other way round. A manual test was added to illustrate the solved problem.
3331 Testing was done with the existing manual tests that make use of "position:fixed". Automatic
3332 tests are mostly not affected by this because usage of this information affects only the
3333 UseFixedLayout mode, not used by default in WebKitTestRunner. Work to improve this situation
3334 will be tracked in bug https://bugs.webkit.org/show_bug.cgi?id=109175.
3339 * page/scrolling/ScrollingCoordinator.cpp:
3340 (WebCore::ScrollingCoordinator::create): create specific version of ScrollingCoordinator.
3341 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
3343 (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
3344 (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
3345 update layer information using existing hook in ScrollingCoordinator.
3346 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
3348 (ScrollingCoordinatorCoordinatedGraphics):
3349 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3350 (WebCore::CoordinatedGraphicsLayer::setFixedToViewport): now that setting viewport is not
3351 embedded in the synchronization work, we need to mark the layer so it is updated in the
3354 (WebCore::CoordinatedGraphicsLayer::flushCompositingState): remove call to syncFixedLayers().
3355 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3356 (CoordinatedGraphicsLayerClient): remove now unused syncFixedLayers() from client.
3357 (CoordinatedGraphicsLayer):
3359 2013-02-07 Keishi Hattori <keishi@webkit.org>
3361 REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
3362 https://bugs.webkit.org/show_bug.cgi?id=109136
3364 Reviewed by Kent Tamura.
3366 Calendar picker was using the "Clear" button to calculate the window width.
3367 Since it doesn't exist when the input element has a required attribute,
3368 it was throwing an error. This patch fixes the width calculating logic.
3370 Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
3371 platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
3373 * Resources/pagepopups/calendarPicker.css:
3374 (.today-clear-area):
3375 * Resources/pagepopups/calendarPicker.js:
3376 (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
3377 the width. We don't want to use clear button because it doesn't exist
3378 when a value is required.
3380 2013-02-07 Gustavo Noronha Silva <gns@gnome.org>
3382 Unreviewed build fix. libWebCore.la needs to be relinked when
3383 symbols.filter changes.
3385 * GNUmakefile.am: add symbols.filter as a dependency for the
3386 libWebCore.la library.
3388 2013-02-07 Vsevolod Vlasov <vsevik@chromium.org>
3390 Web Inspector: Closure compilation fixes
3391 https://bugs.webkit.org/show_bug.cgi?id=109131
3393 Reviewed by Yury Semikhatsky.
3395 * inspector/front-end/ElementsPanel.js:
3396 (WebInspector.ElementsPanel):
3397 * inspector/front-end/FileSystemMapping.js:
3398 (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
3399 * inspector/front-end/IsolatedFileSystemModel.js:
3400 (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
3401 * inspector/front-end/SidebarPane.js:
3403 2013-02-07 Kentaro Hara <haraken@chromium.org>
3405 Unreviewed, rolling out r142077.
3406 http://trac.webkit.org/changeset/142077
3407 https://bugs.webkit.org/show_bug.cgi?id=108579
3409 fast/filesystem/workers/file-writer-empty-blob.html is broken
3411 * bindings/v8/DOMDataStore.h:
3412 (WebCore::DOMDataStore::setWrapperInObject):
3413 * bindings/v8/DOMWrapperWorld.h:
3415 (WebCore::DOMWrapperWorld::isolated):
3416 * bindings/v8/V8Binding.h:
3418 (WebCore::worldForEnteredContextIfIsolated):
3419 * bindings/v8/V8DOMWindowShell.cpp:
3420 (WebCore::V8DOMWindowShell::initializeIfNeeded):
3421 * bindings/v8/V8GCController.cpp:
3422 (WebCore::WrapperVisitor::WrapperVisitor):
3425 (WebCore::V8GCController::didCreateWrapperForNode):
3426 (WebCore::V8GCController::gcPrologue):
3427 (WebCore::V8GCController::minorGCPrologue):
3428 (WebCore::V8GCController::majorGCPrologue):
3429 * bindings/v8/V8GCController.h:
3432 2013-02-07 Tony Gentilcore <tonyg@chromium.org>
3434 Call XSSAuditor.filterToken() from threaded HTML parser
3435 https://bugs.webkit.org/show_bug.cgi?id=107603
3437 Reviewed by Adam Barth.
3439 With this patch we now pass 180 of 182 tests in http/tests/security/xssAuditor.
3441 We do this by creating aan XSSAuditor on the main thread and passing ownership of them to the BackgroundHTMLParser upon its creation.
3443 Then the background thread calls filterToken() and stores the resulting XSSInfo (if any) on the CompactHTMLToken for the main thread to handle.
3445 This involved trimming the XSSAuditor to only depend on the TextEncoding instead of the whole TextResourceDecoder.
3447 No new tests because covered by existing tests.
3449 * html/parser/BackgroundHTMLParser.cpp:
3450 (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3451 (WebCore::BackgroundHTMLParser::pumpTokenizer):
3452 (WebCore::BackgroundHTMLParser::createPartial):
3453 * html/parser/BackgroundHTMLParser.h:
3455 (WebCore::BackgroundHTMLParser::create):
3456 (BackgroundHTMLParser):
3457 * html/parser/HTMLDocumentParser.cpp:
3458 (WebCore::HTMLDocumentParser::pumpTokenizer):
3459 (WebCore::HTMLDocumentParser::startBackgroundParser):
3460 * html/parser/HTMLSourceTracker.cpp:
3461 (WebCore::HTMLSourceTracker::start):
3462 (WebCore::HTMLSourceTracker::end):
3463 * html/parser/HTMLSourceTracker.h: Change the HTMLInputStream args to SegmentedString because the background thread only has a BackgroundHTMLInputStream.
3464 (HTMLSourceTracker):
3465 * html/parser/HTMLViewSourceParser.cpp:
3466 (WebCore::HTMLViewSourceParser::pumpTokenizer):
3467 * html/parser/XSSAuditor.cpp:
3468 (WebCore::fullyDecodeString):
3469 (WebCore::XSSAuditor::XSSAuditor):
3470 (WebCore::XSSAuditor::init): Copies necessary to make isSafeToSendToAnotherThread() happy.
3471 (WebCore::XSSAuditor::decodedSnippetForName):
3472 (WebCore::XSSAuditor::decodedSnippetForAttribute):
3473 (WebCore::XSSAuditor::decodedSnippetForJavaScript):
3474 (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Check that all String and KURL members are safe to send to another thread.
3476 * html/parser/XSSAuditor.h:
3478 (WebCore::FilterTokenRequest::FilterTokenRequest):
3479 (FilterTokenRequest):
3482 2013-02-07 ChangSeok Oh <shivamidow@gmail.com>
3484 [GTK][AC] Implement opacity animation with clutter ac backend
3485 https://bugs.webkit.org/show_bug.cgi?id=108961
3487 Reviewed by Gustavo Noronha Silva.
3489 Implement opacity animation with clutter ac backend.
3490 Almost all implementations of GraphicsLayerClutter are based on mac port's one.
3491 PlatformClutterAnimation interfaces are also similar with mac port, but they are implemented
3492 with native clutter APIs.
3493 This patch includes only opacity animation related changes, so many APIs might be empty.
3494 Remained animations like rotation and translate will be dealt in another patches.
3496 Covered by existing animation tests.
3498 * GNUmakefile.list.am:
3499 * platform/graphics/clutter/GraphicsLayerActor.cpp:
3500 (graphicsLayerActorGetAnimationForKey):
3501 * platform/graphics/clutter/GraphicsLayerActor.h:
3502 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3504 (WebCore::propertyIdToString):
3505 (WebCore::animationIdentifier):
3506 (WebCore::animationHasStepsTimingFunction):
3507 (WebCore::GraphicsLayerClutter::setOpacity):
3508 (WebCore::GraphicsLayerClutter::updateAnimations):
3509 (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
3510 (WebCore::GraphicsLayerClutter::setupAnimation):
3511 (WebCore::GraphicsLayerClutter::timingFunctionForAnimationValue):
3512 (WebCore::GraphicsLayerClutter::createBasicAnimation):
3513 (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
3514 (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
3515 (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
3516 (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
3517 (WebCore::GraphicsLayerClutter::createAnimationFromKeyframes):
3518 (WebCore::GraphicsLayerClutter::addAnimation):
3519 (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
3520 (WebCore::GraphicsLayerClutter::pauseClutterAnimationOnLayer):
3521 (WebCore::GraphicsLayerClutter::setAnimationOnLayer):
3522 (WebCore::GraphicsLayerClutter::setAnimationEndpoints):
3523 (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
3524 (WebCore::GraphicsLayerClutter::animatedLayer):
3525 * platform/graphics/clutter/GraphicsLayerClutter.h:
3526 (GraphicsLayerClutter):
3527 (WebCore::GraphicsLayerClutter::LayerPropertyAnimation::LayerPropertyAnimation):
3528 (LayerPropertyAnimation):
3529 (WebCore::GraphicsLayerClutter::AnimationProcessingAction::AnimationProcessingAction):
3530 (AnimationProcessingAction):
3531 * platform/graphics/clutter/PlatformClutterAnimation.cpp: Added.
3533 (WebCore::timelineStartedCallback):
3534 (WebCore::toClutterAnimationMode):
3535 (WebCore::PlatformClutterAnimation::stringToAnimatedPropertyType):
3536 (WebCore::PlatformClutterAnimation::create):
3537 (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
3538 (WebCore::PlatformClutterAnimation::~PlatformClutterAnimation):
3539 (WebCore::PlatformClutterAnimation::supportsValueFunction):
3540 (WebCore::PlatformClutterAnimation::beginTime):
3541 (WebCore::PlatformClutterAnimation::setBeginTime):
3542 (WebCore::PlatformClutterAnimation::duration):
3543 (WebCore::PlatformClutterAnimation::setDuration):
3544 (WebCore::PlatformClutterAnimation::speed):
3545 (WebCore::PlatformClutterAnimation::setSpeed):
3546 (WebCore::PlatformClutterAnimation::timeOffset):
3547 (WebCore::PlatformClutterAnimation::setTimeOffset):
3548 (WebCore::PlatformClutterAnimation::repeatCount):
3549 (WebCore::PlatformClutterAnimation::setRepeatCount):
3550 (WebCore::PlatformClutterAnimation::autoreverses):
3551 (WebCore::PlatformClutterAnimation::setAutoreverses):
3552 (WebCore::PlatformClutterAnimation::fillMode):
3553 (WebCore::PlatformClutterAnimation::setFillMode):
3554 (WebCore::PlatformClutterAnimation::setTimingFunction):
3555 (WebCore::PlatformClutterAnimation::copyTimingFunctionFrom):
3556 (WebCore::PlatformClutterAnimation::isRemovedOnCompletion):
3557 (WebCore::PlatformClutterAnimation::setRemovedOnCompletion):
3558 (WebCore::PlatformClutterAnimation::isAdditive):
3559 (WebCore::PlatformClutterAnimation::setAdditive):
3560 (WebCore::PlatformClutterAnimation::valueFunction):
3561 (WebCore::PlatformClutterAnimation::setValueFunction):
3562 (WebCore::PlatformClutterAnimation::setFromValue):
3563 (WebCore::PlatformClutterAnimation::copyFromValueFrom):
3564 (WebCore::PlatformClutterAnimation::setToValue):
3565 (WebCore::PlatformClutterAnimation::copyToValueFrom):
3566 (WebCore::PlatformClutterAnimation::setValues):
3567 (WebCore::PlatformClutterAnimation::copyValuesFrom):
3568 (WebCore::PlatformClutterAnimation::setKeyTimes):
3569 (WebCore::PlatformClutterAnimation::copyKeyTimesFrom):
3570 (WebCore::PlatformClutterAnimation::setTimingFunctions):
3571 (WebCore::PlatformClutterAnimation::copyTimingFunctionsFrom):
3572 (WebCore::PlatformClutterAnimation::animationDidStart):
3573 (WebCore::PlatformClutterAnimation::timeline):
3574 (WebCore::PlatformClutterAnimation::addOpacityTransition):
3575 (WebCore::PlatformClutterAnimation::addAnimationForKey):
3576 (WebCore::PlatformClutterAnimation::removeAnimationForKey):
3577 * platform/graphics/clutter/PlatformClutterAnimation.h: Added.
3579 (PlatformClutterAnimation):
3580 (WebCore::PlatformClutterAnimation::animationType):
3582 2013-02-07 Andrey Lushnikov <lushnikov@chromium.org>
3584 Web Inspector: highlight matching braces in DTE.
3585 https://bugs.webkit.org/show_bug.cgi?id=108697
3587 Reviewed by Pavel Feldman.
3589 Implement BraceMatcher class which for given position in textModel
3590 will respond with enclosing brace pair for that position.
3591 Make use of this class in DefaultTextEditor by handling
3592 selectionChange event. Make use of this class in "_closingBlockOffset"
3593 method of TextEditorMainPanel as this method implements similar
3596 New test: inspector/editor/brace-matcher.html
3598 * inspector/front-end/DefaultTextEditor.js:
3599 (WebInspector.TextEditorMainPanel):
3600 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
3601 (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
3602 (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
3603 (WebInspector.TextEditorMainPanel.BraceHighlightController):
3604 (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
3605 * inspector/front-end/TextEditorHighlighter.js:
3606 (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3607 * inspector/front-end/TextEditorModel.js:
3608 (WebInspector.TextEditorModel.endsWithBracketRegex):
3609 (WebInspector.TextEditorModel.endsWithBracketRegex.):
3610 * inspector/front-end/textEditor.css:
3611 (.text-editor-brace-match):
3613 2013-02-05 Eunmi Lee <eunmi15.lee@samsung.com> and Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
3615 [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
3616 https://bugs.webkit.org/show_bug.cgi?id=97173
3618 Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
3620 Remove codes to initialize and shutdown the EFL libraries from
3621 RunLoopEfl.cpp. Initialization and shutdown will be done in the
3622 ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
3625 No new tests. This patch doesn't change behavior.
3627 * platform/efl/RunLoopEfl.cpp:
3628 (WebCore::RunLoop::RunLoop):
3629 (WebCore::RunLoop::~RunLoop):
3631 2013-02-07 Ilya Tikhonovsky <loislo@chromium.org>
3633 Unreviewed fix for inspector tests in debug.
3634 m_frontend should be initialized in constructor.
3636 * inspector/InspectorMemoryAgent.cpp:
3637 (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
3639 2013-02-07 Yury Semikhatsky <yurys@chromium.org>
3641 Web Inspector: reduce number of native memory instrumentation categories
3642 https://bugs.webkit.org/show_bug.cgi?id=109146
3644 Reviewed by Pavel Feldman.
3646 Merged some of memory instrumentation categories.
3648 * dom/WebCoreMemoryInstrumentation.cpp:
3650 * inspector/front-end/NativeMemorySnapshotView.js:
3651 (WebInspector.MemoryBlockViewProperties._initialize):
3652 * platform/PlatformMemoryInstrumentation.cpp:
3655 2013-02-04 Kentaro Hara <haraken@chromium.org>
3657 [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
3658 https://bugs.webkit.org/show_bug.cgi?id=108579
3660 Reviewed by Adam Barth.
3662 Currently V8GCController::m_edenNodes stores a list of nodes whose
3663 wrappers have been created since the latest GC. The reason why we
3664 needed m_edenNodes is that there was no way to know a list of wrappers
3665 in the new space of V8. By using m_edenNodes, we had been approximating
3666 'wrappers in the new space' by 'wrappers that have been created since
3669 Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
3670 can know a list of wrappers in the new space. By using the API, we can
3671 remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
3672 need to keep m_edenNodes and that (2) it enables more precise minor
3673 DOM GC (Remember that m_edenNodes was just an approximation).
3675 Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
3676 The benchmark runs 300 iterations, each of which creates 100000 elements.
3677 The benchmark measures average, min, median, max and stdev of execution times
3678 of the 300 iterations. This will tell us the worst-case overhead of this change.
3681 mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
3684 mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
3686 As shown above, I couldn't observe any performance regression.
3688 No tests. No change in behavior.
3690 * bindings/v8/DOMDataStore.h:
3691 (WebCore::DOMDataStore::setWrapperInObject):
3692 * bindings/v8/DOMWrapperWorld.h:
3694 (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
3695 * bindings/v8/V8Binding.h:
3697 (WebCore::worldForEnteredContextIfIsolated):
3698 (WebCore::worldForEnteredContextWithoutContextCheck):
3699 * bindings/v8/V8DOMWindowShell.cpp:
3700 (WebCore::V8DOMWindowShell::initializeIfNeeded):
3701 * bindings/v8/V8GCController.cpp:
3704 (MinorGCWrapperVisitor):
3705 (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
3706 (WebCore::MinorGCWrapperVisitor::notifyFinished):
3707 (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
3708 (WebCore::V8GCController::gcPrologue):
3709 (WebCore::V8GCController::minorGCPrologue):
3710 (WebCore::V8GCController::majorGCPrologue):
3711 * bindings/v8/V8GCController.h:
3714 2013-02-06 Kent Tamura <tkent@chromium.org>
3716 REGRESSION(r141195): INPUT_MULTIPLE_FIELDS_UI: Space in a placeholder string is removed
3717 https://bugs.webkit.org/show_bug.cgi?id=109132
3719 Reviewed by Hajime Morita.
3721 <input type=date> should be shown in Japanese UI as:
3723 But it is shown wrongly since r141195:
3726 We should use white-space:pre.
3728 No new tests. This change is not testable in WebKit because this
3729 requires a Japanese-localized UI string of Chromium.
3732 (input::-webkit-datetime-edit-fields-wrapper):
3733 Use white-space:pre instead of nowrap.
3735 2013-02-06 Kentaro Hara <haraken@chromium.org>
3737 Remove DOMWindow::parseModalDialogFeatures()
3738 https://bugs.webkit.org/show_bug.cgi?id=109139
3740 Reviewed by Kent Tamura.
3742 No one uses the method. FIXME is saying:
3744 // FIXME: We can remove this function once V8 showModalDialog is changed to use DOMWindow.
3746 Given that V8's showModalDialog() is now using DOMWindow, we can remove it.
3748 No tests. No change in behavior.
3750 * page/DOMWindow.cpp:
3754 2013-02-06 Ilya Tikhonovsky <loislo@chromium.org>
3756 Web Inspector: Native Memory Instrumentation: reduce native heap snapshot runtime memory footprint
3757 https://bugs.webkit.org/show_bug.cgi?id=108824
3759 Reviewed by Yury Semikhatsky.
3761 New event was added into Memory domain addNativeSnapshotChunk.
3762 The content of HeapGraphSerializer is completely rewritten according to new API.
3763 Now it collects strings, nodes, edges and id2id map and pushes when the collected items count exceed a limit.
3764 On the frontend side I added new method for the new event and fixed the postprocessing step.
3765 MemoryInstrumentation was slightly changed. Now it reports base to real address map only after reporting the node with real address.
3767 * inspector/HeapGraphSerializer.cpp:
3768 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
3769 (WebCore::HeapGraphSerializer::pushUpdateIfNeed):
3771 (WebCore::HeapGraphSerializer::pushUpdate):
3772 (WebCore::HeapGraphSerializer::reportNode):
3773 (WebCore::HeapGraphSerializer::reportNodeImpl):
3774 (WebCore::HeapGraphSerializer::reportEdge):
3775 (WebCore::HeapGraphSerializer::reportEdgeImpl):
3776 (WebCore::HeapGraphSerializer::reportLeaf):
3777 (WebCore::HeapGraphSerializer::reportBaseAddress):
3778 (WebCore::HeapGraphSerializer::finish):
3779 (WebCore::HeapGraphSerializer::reportMemoryUsage):
3780 (WebCore::HeapGraphSerializer::addString):
3781 (WebCore::HeapGraphSerializer::toNodeId):
3782 (WebCore::HeapGraphSerializer::addRootNode):
3783 * inspector/HeapGraphSerializer.h:
3784 (HeapGraphSerializer):
3785 * inspector/Inspector.json:
3786 * inspector/InspectorController.cpp:
3787 (WebCore::InspectorController::processMemoryDistribution):
3788 * inspector/InspectorMemoryAgent.cpp:
3789 (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionMap):
3791 (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
3792 (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
3793 (WebCore::InspectorMemoryAgent::setFrontend):
3794 (WebCore::InspectorMemoryAgent::clearFrontend):
3795 * inspector/InspectorMemoryAgent.h:
3796 (InspectorMemoryAgent):
3797 * inspector/front-end/NativeHeapSnapshot.js:
3798 (WebInspector.NativeHeapSnapshot):
3799 (WebInspector.NativeHeapSnapshotNode.prototype.classIndex):
3800 (WebInspector.NativeHeapSnapshotNode.prototype.id):
3801 (WebInspector.NativeHeapSnapshotNode.prototype.name):
3802 (WebInspector.NativeHeapSnapshotNode.prototype.serialize):
3803 * inspector/front-end/NativeMemorySnapshotView.js:
3804 (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
3805 (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
3806 (WebInspector.NativeSnapshotProfileHeader):
3807 (WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
3808 (WebInspector.NativeSnapshotProfileHeader.prototype.addNativeSnapshotChunk):
3809 (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
3810 (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
3811 (WebInspector.NativeMemoryBarChart.prototype._updateStats):
3812 * inspector/front-end/ProfilesPanel.js:
3813 (WebInspector.ProfilesPanel):
3814 (WebInspector.MemoryDispatcher):
3815 (WebInspector.MemoryDispatcher.prototype.addNativeSnapshotChunk):
3817 2013-02-03 Kentaro Hara <haraken@chromium.org>
3819 WebKit's focus events are UIEvents (instead of FocusEvent) and thus don't expose .relatedTarget
3820 https://bugs.webkit.org/show_bug.cgi?id=76216
3822 Reviewed by Eric Seidel.
3824 Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-FocusEvent
3826 This patch creates a new FocusEvent class with a relatedTarget attribute.
3827 Now when focusin or focusout events are dispatched, a FocusEvent is created with
3828 the relatedTarget attribute set accordingly.
3830 Test: fast/events/related-target-focusevent.html
3833 * DerivedSources.cpp:
3834 * DerivedSources.make:
3835 * DerivedSources.pri:
3836 * GNUmakefile.list.am:
3839 * WebCore.xcodeproj/project.pbxproj:
3840 * dom/DOMAllInOne.cpp:
3842 (WebCore::Event::isFocusEvent):
3846 * dom/EventContext.cpp:
3847 (WebCore::EventContext::handleLocalEvents):
3848 * dom/EventNames.in:
3849 * dom/FocusEvent.h: Added.
3852 (WebCore::FocusEvent::create):
3853 (WebCore::FocusEvent::relatedTarget):
3854 (WebCore::FocusEvent::setRelatedTarget):
3855 (WebCore::toFocusEvent):
3856 * dom/FocusEvent.idl: Added.
3858 (WebCore::Node::dispatchFocusInEvent):
3859 (WebCore::Node::dispatchFocusOutEvent):
3861 2013-02-06 Kent Tamura <tkent@chromium.org>
3863 Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h
3864 https://bugs.webkit.org/show_bug.cgi?id=109137
3866 Reviewed by Kentaro Hara.
3868 No new tests. Just style fix.
3870 * rendering/RenderTheme.cpp:
3871 (WebCore::RenderTheme::adjustStyle):
3872 (WebCore::RenderTheme::paint):
3873 (WebCore::RenderTheme::paintBorderOnly):
3874 (WebCore::RenderTheme::paintDecorations):
3875 (WebCore::RenderTheme::isControlStyled):
3876 (WebCore::RenderTheme::adjustButtonStyle):
3877 (WebCore::RenderTheme::systemColor):
3878 * rendering/RenderThemeChromiumWin.h:
3879 (WebCore::ThemeData::ThemeData):
3881 (RenderThemeChromiumWin):
3882 (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
3883 (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
3885 2013-02-06 Kent Tamura <tkent@chromium.org>
3887 Fix style of Chrome.h and Page.h
3888 https://bugs.webkit.org/show_bug.cgi?id=109138
3890 Reviewed by Ryosuke Niwa.
3892 No new tests. Just style fixes.
3897 (WebCore::Chrome::client):
3901 (WebCore::ArenaSize::ArenaSize):
3905 (WebCore::Page::theme):
3906 (WebCore::Page::canStartMedia):
3907 (WebCore::Page::editorClient):
3908 (WebCore::Page::plugInClient):
3909 (WebCore::Page::mainFrame):
3910 (WebCore::Page::groupPtr):
3911 (WebCore::Page::incrementSubframeCount):
3912 (WebCore::Page::decrementSubframeCount):
3913 (WebCore::Page::subframeCount):
3914 (WebCore::Page::chrome):
3915 (WebCore::Page::dragCaretController):
3916 (WebCore::Page::dragController):
3917 (WebCore::Page::focusController):
3918 (WebCore::Page::contextMenuController):
3919 (WebCore::Page::inspectorController):
3920 (WebCore::Page::pointerLockController):
3921 (WebCore::Page::validationMessageClient):
3922 (WebCore::Page::settings):
3923 (WebCore::Page::progress):
3924 (WebCore::Page::backForward):
3925 (WebCore::Page::featureObserver):
3926 (WebCore::Page::viewMode):
3927 (WebCore::Page::setTabKeyCyclesThroughElements):
3928 (WebCore::Page::tabKeyCyclesThroughElements):
3929 (WebCore::Page::scheduledRunLoopPairs):
3930 (WebCore::Page::defersLoading):
3931 (WebCore::Page::mediaVolume):
3932 (WebCore::Page::pageScaleFactor):
3933 (WebCore::Page::deviceScaleFactor):
3934 (WebCore::Page::shouldSuppressScrollbarAnimations):
3935 (WebCore::Page::pagination):
3936 (WebCore::Page::isOnscreen):
3937 (WebCore::Page::scriptedAnimationsSuspended):
3938 (WebCore::Page::debugger):
3939 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
3940 (WebCore::Page::customHTMLTokenizerTimeDelay):
3941 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
3942 (WebCore::Page::customHTMLTokenizerChunkSize):
3943 (WebCore::Page::areMemoryCacheClientCallsEnabled):
3944 (WebCore::Page::setEditable):
3945 (WebCore::Page::isEditable):
3946 (WebCore::Page::displayID):
3947 (WebCore::Page::layoutMilestones):
3948 (WebCore::Page::setIsPainting):
3949 (WebCore::Page::isPainting):
3950 (WebCore::Page::alternativeTextClient):
3951 (WebCore::Page::checkSubframeCountConsistency):
3952 (WebCore::Page::group):
3954 2013-02-06 Mike West <mkwst@chromium.org>
3956 Entity-header extension headers honored on 304 responses.
3957 https://bugs.webkit.org/show_bug.cgi?id=72414
3959 Reviewed by Alexey Proskuryakov.
3961 This patch ports Chromium's network stack logic governing header
3962 updates after resource revalidation. Generally, headers sent with 304
3963 responses ought to update the original cached resource's headers.
3964 Certain headers should never be sent with 304 responses, and we should
3965 ignore them if a misconfigured server sends them anyway.
3967 Currently, WebCore ignores all headers prefixed with 'content-'. This
3968 patch adds 'x-content-' and 'x-webkit-' to the list, as well as specific
3969 headers like 'upgrade', 'trailer', and others that the Chromium network
3970 stack currently ignores.
3972 The tests verify that those headers with visible effect are correctly
3973 handled: 'x-frame-options', 'content-security-policy', and
3976 Tests: http/tests/security/XFrameOptions/x-frame-options-cached.html
3977 http/tests/security/contentSecurityPolicy/cached-frame-csp.html
3978 http/tests/security/xssAuditor/cached-frame.html
3980 * loader/cache/CachedResource.cpp:
3982 (WebCore::CachedResource::updateResponseAfterRevalidation):
3983 This patch adds two arrays containing the specific headers to
3984 ignore and the prefixes to ignore. These lists are processed in
3985 shouldUpdateHeaderAfterRevalidation.
3986 CachedResource::updateResponseAfterRevalidation relies on this new
3987 method when processing revalidated resources.
3989 * loader/cache/CachedResource.cpp:
3991 (WebCore::shouldUpdateHeaderAfterRevalidation):
3992 (WebCore::CachedResource::updateResponseAfterRevalidation):
3994 2013-02-06 Tom Sepez <tsepez@chromium.org>
3996 document.referrer leakage with XSS Auditor page block
3997 https://bugs.webkit.org/show_bug.cgi?id=109089
3999 Reviewed by Adam Barth.
4001 Pass "about:blank" as referrer instead of "" so that the actual page
4002 is not leaked when empty referrers are replaced later on in the
4005 * html/parser/XSSAuditorDelegate.cpp:
4006 (WebCore::XSSAuditorDelegate::didBlockScript):
4008 2013-02-06 Kentaro Hara <haraken@chromium.org>
4010 [V8] Make an Isolate parameter mandatory in GetTemplate() and GetRawTemplate()
4011 https://bugs.webkit.org/show_bug.cgi?id=109026
4013 Reviewed by Adam Barth.
4015 Now it's time to kill an optional Isolate parameter.
4017 No tests. No change in behavior.
4019 * bindings/scripts/CodeGeneratorV8.pm:
4021 (GenerateNamedConstructorCallback):
4022 (GenerateImplementation):
4023 * bindings/scripts/test/V8/V8Float64Array.cpp:
4024 (WebCore::V8Float64Array::GetRawTemplate):
4025 (WebCore::V8Float64Array::GetTemplate):
4026 * bindings/scripts/test/V8/V8Float64Array.h:
4028 (WebCore::V8Float64Array::installPerContextPrototypeProperties):
4029 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: