b544b4ad75d6d965da2d1832c320d0f98e14ef3a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-08  Dean Jackson  <dino@apple.com>
2
3         Attempted Mac and GTK build fix after r142333.
4
5         * rendering/RenderSnapshottedPlugIn.h: Include InlineBox.h.
6
7 2013-02-08  Andy Estes  <aestes@apple.com>
8
9         Restore pre-r118852 behavior for EllipsisBox::nodeAtPoint()
10         https://bugs.webkit.org/show_bug.cgi?id=109277
11
12         Reviewed by Simon Fraser.
13
14         Test: fast/flexbox/line-clamp-link-after-ellipsis.html
15
16         Roll out r118852. Enough time has passed that this can't be done
17         mechanically, so transcribe the old method definition to current
18         WebCore interfaces.
19
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().
28
29 2013-02-08  Eric Carlson  <eric.carlson@apple.com>
30
31         [Mac] In-band closed caption tracks are not always initialized correctly
32         https://bugs.webkit.org/show_bug.cgi?id=109323
33
34         Reviewed by Dean Jackson.
35
36         No new tests, this fix makes existing tests less flakey.
37
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.
46
47 2013-02-08  Dean Jackson  <dino@apple.com>
48
49         Snapshotted plug-in should use shadow root
50         https://bugs.webkit.org/show_bug.cgi?id=108284
51
52         Reviewed by Simon Fraser.
53
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.
58
59         The UA stylesheet for plug-ins provides a default styling for the label, which
60         can be overridden by ports.
61
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
67         the plugin element.
68
69         Unfortunately this is difficult to test, because the snapshotting requires
70         time to execute, and also a PluginView to be instantiated.
71
72         * css/plugIns.css:
73         (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
74
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:
82
83         * html/HTMLPlugInElement.cpp:
84         (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
85         that RenderSnapshottedPlugIn no longer is an embedded object.
86
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.
109
110         * page/ChromeClient.h: No need for plugInStartLabelImage any more.
111
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.
122
123 2013-02-08  Kentaro Hara  <haraken@chromium.org>
124
125         {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator should be in FocusEvent.cpp
126         https://bugs.webkit.org/show_bug.cgi?id=109265
127
128         Reviewed by Dimitri Glazkov.
129
130         Conventionally we put XXXEventDispatchMediator to XXXEvent.cpp.
131         We should move {FocusIn,FocusOut,Focus,Blur}EventDispatchMediator to FocusEvent.cpp.
132
133         No tests. No change in behavior.
134
135         * dom/EventDispatchMediator.cpp:
136         * dom/EventDispatchMediator.h:
137         * dom/FocusEvent.cpp:
138         (WebCore::FocusEventDispatchMediator::create):
139         (WebCore):
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):
151         * dom/FocusEvent.h:
152         (WebCore):
153         (FocusEventDispatchMediator):
154         (BlurEventDispatchMediator):
155         (FocusInEventDispatchMediator):
156         (FocusOutEventDispatchMediator):
157         * dom/UIEvent.cpp:
158         * dom/UIEvent.h:
159
160 2013-02-08  Jer Noble  <jer.noble@apple.com>
161
162         Unreviewed build fix. MSVC (and other compilers) need a default: case in switch statement.
163
164         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
165         (WebCore::notificationName):
166
167 2013-02-08  Jer Noble  <jer.noble@apple.com>
168
169         Bring WebKit up to speed with latest Encrypted Media spec.
170         https://bugs.webkit.org/show_bug.cgi?id=97037
171
172         Reviewed by Eric Carlson.
173
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.
180
181         Tests: media/encrypted-media/encrypted-media-v2-events.html
182                media/encrypted-media/encrypted-media-v2-syntax.html
183
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.
205
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
210             parameters.
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.
228
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:
245
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):
255
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.
265
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):
271
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:
278
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.
288
289         Add an ENABLE(ENCRYPTED_MEDIA_V2) check to the existing ENABLE(ENCRYPTED_MEDIA) one:
290         * html/MediaError.h:
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
297             deprecated version.
298
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):
308
309         Add a mock CDM for use within DRT and WKTR to test the MediaKeys and MediaKeySession
310         APIs and events:
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.
330
331         Add the new classes to the built system:
332         * Configurations/FeatureDefines.xcconfig:
333         * DerivedSources.make:
334         * WebCore.exp.in:
335         * WebCore.xcodeproj/project.pbxproj:
336
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.
341
342 2013-02-08  Chris Fleizach  <cfleizach@apple.com>
343
344         Refactor platform-specific code in SpeechSynthesis
345         https://bugs.webkit.org/show_bug.cgi?id=107414
346
347         Reviewed by Sam Weinig.
348
349         Refactor WebSpeech code to use a platform mechanism to provide access to platform resources.
350
351         * Modules/speech/DOMWindowSpeechSynthesis.cpp:
352         (WebCore::DOMWindowSpeechSynthesis::from):
353         * Modules/speech/SpeechSynthesis.cpp:
354         (WebCore::SpeechSynthesis::SpeechSynthesis):
355         (WebCore):
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:
366         (WebCore):
367         (SpeechSynthesis):
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.
401         (WebCore):
402         (PlatformSpeechSynthesis):
403         * platform/PlatformSpeechSynthesisUtterance.cpp: Added.
404         (WebCore):
405         (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
406         * platform/PlatformSpeechSynthesisUtterance.h: Added.
407         (WebCore):
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.
424         (WebCore):
425         (WebCore::PlatformSpeechSynthesisVoice::create):
426         (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
427         * platform/PlatformSpeechSynthesisVoice.h: Added.
428         (WebCore):
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.
436         (WebCore):
437         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
438         * platform/PlatformSpeechSynthesizer.h: Added.
439         (WebCore):
440         (PlatformSpeechSynthesizerClient):
441         (WebCore::PlatformSpeechSynthesizerClient::~PlatformSpeechSynthesizerClient):
442         (PlatformSpeechSynthesizer):
443         (WebCore::PlatformSpeechSynthesizer::voiceList):
444         * platform/mac/PlatformSpeechSynthesisMac.mm: Added.
445         (WebCore):
446         (WebCore::PlatformSpeechSynthesis::create):
447         (WebCore::PlatformSpeechSynthesis::PlatformSpeechSynthesis):
448         (WebCore::PlatformSpeechSynthesis::platformSpeak):
449         * platform/mac/PlatformSpeechSynthesizerMac.mm: Added.
450         (WebCore):
451         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
452         (WebCore::PlatformSpeechSynthesizer::speak):
453
454 2013-02-08  Dean Jackson  <dino@apple.com>
455
456         Put snapshotting label text into localizable strings
457         https://bugs.webkit.org/show_bug.cgi?id=108268
458
459         Reviewed by Simon Fraser.
460
461         In preparation for a snapshotted plug-in using a ShadowRoot, allow
462         its label to be localized.
463
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:
469
470 2013-02-08  Dean Jackson  <dino@apple.com>
471
472         Do not register autostart for plugins from file:// (or nowhere)
473         https://bugs.webkit.org/show_bug.cgi?id=108271
474
475         Reviewed by Tim Horton.
476
477         If the page url origin is treated as a local URL, don't attempt
478         to add it to the auto-start list.
479
480         * html/HTMLPlugInImageElement.cpp:
481         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
482
483 2013-02-08  Adam Barth  <abarth@webkit.org>
484
485         Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
486         https://bugs.webkit.org/show_bug.cgi?id=107190
487
488         Reviewed by Eric Seidel.
489
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.
494
495         * html/parser/BackgroundHTMLParser.cpp:
496         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
497         (WebCore::BackgroundHTMLParser::stop):
498         (WebCore):
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:
509         (WebCore):
510         (HTMLDocumentParser):
511
512 2013-02-07  Roger Fong  <roger_fong@apple.com>
513
514         VS2010 WebCore TestSupport project.
515         https://bugs.webkit.org/show_bug.cgi?id=107034.
516
517         Reviewed by Brent Fulgham.
518
519         * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Added.
520         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Added.
521
522 2013-02-08  ChangSeok Oh  <shivamidow@gmail.com>
523
524         [GTK][AC] GraphicsLayerActor code clean up after clutter version up.
525         https://bugs.webkit.org/show_bug.cgi?id=109304
526
527         Reviewed by Gustavo Noronha Silva.
528
529         This patch cleans up GraphicsLayerActor functions by using new clutter apis
530         and makes existing functions simple & readable.
531
532         No new tests since no change in functionality
533
534         * platform/graphics/clutter/GraphicsLayerActor.cpp:
535         (_GraphicsLayerActorPrivate):
536         (graphicsLayerActorApplyTransform):
537         (graphicsLayerActorPaint):
538         (graphicsLayerActorDraw):
539         (graphicsLayerActorUpdateTexture):
540         (drawLayerContents):
541         (graphicsLayerActorNew):
542         (graphicsLayerActorInvalidateRectangle):
543         (graphicsLayerActorSetTransform):
544         (graphicsLayerActorSetAnchorPoint):
545         (graphicsLayerActorGetAnchorPoint):
546         (graphicsLayerActorSetScrollPosition):
547         * platform/graphics/clutter/PlatformClutterAnimation.h:
548
549 2013-02-08  Harald Alvestrand  <hta@google.com>
550
551         Fix and test for missing return statement
552
553         RTCPeerConnection.getStats() failed when remote stats were instantiated.
554         https://bugs.webkit.org/show_bug.cgi?id=109292
555
556         Reviewed by Adam Barth.
557
558         Tested by extending the existing mock's behaviour.
559
560         * Modules/mediastream/RTCStatsReport.cpp:
561         (WebCore::RTCStatsReport::addElement):
562
563 2013-02-08  Anton Vayvod  <avayvod@chromium.org>
564
565         [Text Autosizing] Split isAutosizingCluster into three independent checks
566         https://bugs.webkit.org/show_bug.cgi?id=109093
567
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.
571
572         Reviewed by Kenneth Rohde Christiansen.
573
574         Refactoring, no test changes.
575
576         * rendering/TextAutosizer.cpp:
577
578         (WebCore::TextAutosizer::isNarrowDescendant):
579
580             Separate check for the container to be of the narrow-descendant type. Was a part of
581             isAutosizingCluster().
582
583         (WebCore::TextAutosizer::isWiderDescendant):
584
585             Separate check for the container to be of the wider-descendant type. Was a part of
586             isAutosizingCluster().
587
588         (WebCore::TextAutosizer::isIndependentDescendant):
589
590             Separate check for the container to be autosized separately from the ancestor cluster.
591             Checks for conditions independent of the aforementioned cluster.
592
593         (WebCore::TextAutosizer::isAutosizingCluster):
594
595             Handy method to check all separate conditions together.
596
597         (WebCore::TextAutosizer::processSubtree):
598         (WebCore::TextAutosizer::processCluster):
599         (WebCore::TextAutosizer::processContainer):
600         (WebCore::TextAutosizer::clusterShouldBeAutosized):
601         (WebCore::TextAutosizer::measureDescendantTextWidth):
602         (WebCore::TextAutosizer::findFirstTextLeafNotInCluster):
603
604             The methods above were updated to use new functions/arguments.
605
606         * rendering/TextAutosizer.h:
607
608             Updated/added method definitions.
609
610 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
611
612         Web Inspector: Extension sever should use Workspace.projectForType() instead of Workspace.project()
613         https://bugs.webkit.org/show_bug.cgi?id=109301
614
615         Reviewed by Alexander Pavlov.
616
617         * inspector/front-end/ExtensionServer.js:
618         (WebInspector.ExtensionServer.prototype._onGetPageResources):
619
620 2013-02-04  Yury Semikhatsky  <yurys@chromium.org>
621
622         Web Inspector: simplify Memory.getDOMNodeCount implementation
623         https://bugs.webkit.org/show_bug.cgi?id=108821
624
625         Reviewed by Alexander Pavlov.
626
627         Removed Memory.getDOMNodeCount command from the protocol. Memory.getDOMCounters
628         should be used instead.
629
630         * inspector/Inspector.json:
631         * inspector/InspectorMemoryAgent.cpp:
632         * inspector/InspectorMemoryAgent.h:
633         (InspectorMemoryAgent):
634
635 2013-02-08  Yury Semikhatsky  <yurys@chromium.org>
636
637         Web Inspector: refactor MemoryStatistics.js
638         https://bugs.webkit.org/show_bug.cgi?id=109299
639
640         Reviewed by Vsevolod Vlasov.
641
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.
646
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):
665
666 2013-02-08  Mike West  <mkwst@chromium.org>
667
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
670
671         Reviewed by Eric Seidel.
672
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
680         future refactorings.
681
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.
685
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):
693         * dom/Document.cpp:
694         (WebCore::Document::processHttpEquiv):
695         * dom/ExceptionCodePlaceholder.h:
696         (WebCore):
697         * dom/Node.cpp:
698         (WebCore::Node::normalize):
699         * dom/Text.cpp:
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):
825         * page/Page.cpp:
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):
854
855 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
856
857         Web Inspector: Introduce workspace provider/project type, encapsulate uri creation in SimpleWorkspaceProvider.
858         https://bugs.webkit.org/show_bug.cgi?id=109282
859
860         Reviewed by Alexander Pavlov.
861
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.
866
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:
911
912 2013-02-08  ChangSeok Oh  <shivamidow@gmail.com>
913
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
916
917         Reviewed by Gustavo Noronha Silva.
918
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.
921
922         Covered by existing ac tests.
923
924         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
925         (WebCore::GraphicsLayerClutter::updateGeometry):
926
927 2013-02-08  Mike West  <mkwst@chromium.org>
928
929         Migrate ExceptionCode ASSERTs in IDB to ASSERT_NO_EXCEPTION.
930         https://bugs.webkit.org/show_bug.cgi?id=109266
931
932         Reviewed by Jochen Eisinger.
933
934         The pattern:
935
936             ExceptionCode ec = 0;
937             methodThatGeneratesException(ec);
938             ASSERT(!ec);
939
940         is more clearly and succinctly written as:
941
942             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
943
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.
947
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:
957         (WebCore):
958         * Modules/indexeddb/IDBTransaction.cpp:
959         (WebCore::IDBTransaction::mode):
960             Replace the above pattern with ASSERT_NO_EXCEPTION.
961
962 2013-02-08  Mike West  <mkwst@chromium.org>
963
964         Migrate ExceptionCode ASSERTs in SVG to ASSERT_NO_EXCEPTION.
965         https://bugs.webkit.org/show_bug.cgi?id=109267
966
967         Reviewed by Jochen Eisinger.
968
969         The pattern:
970
971             ExceptionCode ec = 0;
972             methodThatGeneratesException(ec);
973             ASSERT(!ec);
974
975         is more clearly and succinctly written as:
976
977             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
978
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.
982
983         * svg/SVGLength.cpp:
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.
1006
1007 2013-02-08  Vsevolod Vlasov  <vsevik@chromium.org>
1008
1009         Web Inspector: Replace workspace with project in UISourceCode constructor.
1010         https://bugs.webkit.org/show_bug.cgi?id=109256
1011
1012         Reviewed by Alexander Pavlov.
1013
1014         Replaced workspace with project in UISourceCode constructor since every UISourceCode
1015         operation is delegated to project anyway.
1016
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):
1029
1030 2013-02-08  Patrick Gansterer  <paroga@webkit.org>
1031
1032         Build fix for Windows after r141981.
1033
1034         * platform/network/win/ResourceHandleWin.cpp:
1035         (WebCore::ResourceHandle::loadResourceSynchronously):
1036
1037 2013-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1038
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
1043
1044         broke on-disk buffering for http(s) media (Requested by philn
1045         on #webkit).
1046
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):
1054
1055 2013-02-08  Dan Carney  <dcarney@google.com>
1056
1057         [v8] isolate parameter added to all v8::peristent calls
1058         https://bugs.webkit.org/show_bug.cgi?id=109268
1059
1060         Reviewed by Kentaro Hara.
1061
1062         No new tests. No change in functionality.
1063
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:
1118         (WebCore):
1119         * bindings/v8/V8GCController.cpp:
1120         (WebCore::gcTree):
1121         (WebCore::V8GCController::gcPrologue):
1122         (WebCore::V8GCController::minorGCPrologue):
1123         * bindings/v8/V8GCController.h:
1124         (V8GCController):
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):
1152
1153 2013-02-08  Kent Tamura  <tkent@chromium.org>
1154
1155         Adjust usage of ENABLE flags to enable whole content
1156         https://bugs.webkit.org/show_bug.cgi?id=109270
1157
1158         Reviewed by Eric Seidel.
1159
1160         Our common usage of ENABLE flags to enable whole content of files is:
1161
1162         For .cpp files:
1163           #include "config.h"
1164           #if ENABLE(FOOBAR)
1165           #include "FooBar.h"
1166
1167         For .h files:
1168           #ifndef FooBar_h
1169           #define FooBar_h
1170           #if ENABLE(FOOBAR)
1171
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.
1175
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:
1218
1219 2013-02-08  Mike West  <mkwst@chromium.org>
1220
1221         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
1222         https://bugs.webkit.org/show_bug.cgi?id=109044
1223
1224         Reviewed by Darin Adler.
1225
1226         The pattern:
1227
1228             ExceptionCode ec = 0;
1229             methodThatGeneratesException(ec);
1230             ASSERT(!ec);
1231
1232         is more clearly and succinctly written as:
1233
1234             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1235
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.
1240
1241         No change in behavior should result from this refactoring.
1242
1243         * dom/ContainerNode.cpp:
1244         (WebCore::ContainerNode::takeAllChildrenFrom):
1245         * dom/Document.cpp:
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.
1316
1317 2013-02-08  Alexei Filippov  <alph@chromium.org>
1318
1319         Web Inspector: disable profile type switching while profile in progress
1320         https://bugs.webkit.org/show_bug.cgi?id=109178
1321
1322         Reviewed by Yury Semikhatsky.
1323
1324         Disables profile type selection controls when a profiling session
1325         is in progress.
1326
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):
1333
1334 2013-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
1335
1336         Web Inspector: Native Memory Instrumentation: adjust chunk transfer size for better speed.
1337         https://bugs.webkit.org/show_bug.cgi?id=109263
1338
1339         Reviewed by Yury Semikhatsky.
1340
1341         The chunk size is changed from 100 to 10000.
1342         addString counts only first 256 symbols of the string.o
1343
1344         * inspector/HeapGraphSerializer.cpp:
1345         (WebCore::HeapGraphSerializer::pushUpdateIfNeeded):
1346         (WebCore::HeapGraphSerializer::addString):
1347         * inspector/front-end/NativeMemorySnapshotView.js:
1348
1349 2013-02-08  Kentaro Hara  <haraken@chromium.org>
1350
1351         Support a relatedTarget attribute on focus/blur events
1352         https://bugs.webkit.org/show_bug.cgi?id=109176
1353
1354         Reviewed by Ojan Vafai.
1355
1356         In bug 76216, we supported a relatedTarget attribute on
1357         focusin/focusout events. We should also support it on focus/blur events.
1358
1359         See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html
1360         for the www-dom discussion.
1361
1362         Test: fast/dom/shadow/shadow-boundary-events.html
1363               fast/events/related-target-focusevent.html
1364
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):
1373         * dom/Node.cpp:
1374         (WebCore::Node::dispatchFocusInEvent):
1375         (WebCore::Node::dispatchFocusOutEvent):
1376         (WebCore::Node::dispatchFocusEvent):
1377         (WebCore::Node::dispatchBlurEvent):
1378
1379 2013-02-07  Yury Semikhatsky  <yurys@chromium.org>
1380
1381         Web Inspector: reduce number of native memory instrumentation categories
1382         https://bugs.webkit.org/show_bug.cgi?id=109146
1383
1384         Reviewed by Pavel Feldman.
1385
1386         Merged some of memory instrumentation categories.
1387
1388         * dom/WebCoreMemoryInstrumentation.cpp:
1389         (WebCore):
1390         * inspector/front-end/NativeMemorySnapshotView.js:
1391         (WebInspector.MemoryBlockViewProperties._initialize):
1392         * platform/PlatformMemoryInstrumentation.cpp:
1393         (WebCore):
1394
1395 2013-02-07  Mike West  <mkwst@chromium.org>
1396
1397         <iframe seamless> should avoid vertical scrollbars during the initial layout passes.
1398         https://bugs.webkit.org/show_bug.cgi?id=87707
1399
1400         Reviewed by Eric Seidel.
1401
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.
1410
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.
1415
1416         The change should be covered by rebaselines for the newly-passing
1417         results in fast/frame/seamless-{float,inline}.html
1418
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.
1424
1425 2013-02-07  Kent Tamura  <tkent@chromium.org>
1426
1427         document.activeElement should not return a non-focusable element
1428         https://bugs.webkit.org/show_bug.cgi?id=86707
1429
1430         Reviewed by Hajime Morita.
1431
1432         This is based on a patch by Arpita Bahuguna.
1433
1434         Test: fast/dom/HTMLDocument/set-focus-on-valid-element.html
1435
1436         * dom/Document.cpp:
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.
1441
1442 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1443
1444         Web Inspector: Fix front-end compilation warnings related to WebInspector.SidebarPane
1445         https://bugs.webkit.org/show_bug.cgi?id=109259
1446
1447         Reviewed by Vsevolod Vlasov.
1448
1449         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1450         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
1451         * inspector/front-end/SidebarPane.js:
1452
1453 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1454
1455         [V8] enum V8HiddenPropertyCreationType is not used
1456         https://bugs.webkit.org/show_bug.cgi?id=109250
1457
1458         Reviewed by Adam Barth.
1459
1460         V8HiddenPropertyCreationType is always NewSymbol. We can remove the enum.
1461
1462         No tests. No change in behavior.
1463
1464         * bindings/v8/V8HiddenPropertyName.cpp:
1465         (WebCore::hiddenReferenceName):
1466         * bindings/v8/V8HiddenPropertyName.h:
1467         (WebCore):
1468
1469 2013-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1470
1471         Unreviewed, rolling out r142212.
1472         http://trac.webkit.org/changeset/142212
1473         https://bugs.webkit.org/show_bug.cgi?id=109255
1474
1475         Causes ASSERT(!m_installed) on launch (Requested by smfr on
1476         #webkit).
1477
1478         * WebCore.exp.in:
1479         * platform/MemoryPressureHandler.cpp:
1480         (WebCore):
1481         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1482         * platform/MemoryPressureHandler.h:
1483         (MemoryPressureHandler):
1484         * platform/mac/MemoryPressureHandlerMac.mm:
1485         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1486
1487 2013-02-07  Hanyee Kim  <choco@company100.net>
1488
1489         NamedFlowCollection should be a ContextDestructionObserver
1490         https://bugs.webkit.org/show_bug.cgi?id=99239
1491
1492         Reviewed by Adam Barth
1493
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. 
1498
1499         * dom/Document.cpp:
1500         (WebCore::Document::~Document):
1501         * dom/NamedFlowCollection.cpp:
1502         (WebCore::NamedFlowCollection::NamedFlowCollection):
1503         (WebCore::NamedFlowCollection::ensureFlowWithName):
1504         (WebCore::NamedFlowCollection::discardNamedFlow):
1505         (WebCore::NamedFlowCollection::document):
1506         (WebCore):
1507         * dom/NamedFlowCollection.h:
1508         (NamedFlowCollection):
1509
1510 2013-02-07  Dean Jackson  <dino@apple.com>
1511
1512         Followup review suggestions from Alexey Proskuryakov on
1513         https://bugs.webkit.org/show_bug.cgi?id=109215
1514
1515         Don't provide a charset on embedded SVG, especially
1516         with incorrect syntax :)
1517
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):
1522
1523 2013-02-07  Seulgi Kim  <seulgikim@company100.net>
1524
1525         [Gtk] RunLoop::run shuold run current thread's run loop.
1526         https://bugs.webkit.org/show_bug.cgi?id=107887
1527
1528         Reviewed by Martin Robinson.
1529
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.
1532
1533         This patch makes RunLoop constructor create new context, not use default
1534         context.
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).
1538
1539         No new tests. There is no case that uses RunLoop in off the main thread
1540         yet.
1541
1542         * platform/gtk/RunLoopGtk.cpp:
1543         (WebCore::RunLoop::RunLoop):
1544         (WebCore::RunLoop::run):
1545
1546 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1547
1548         [V8] Move V8DOMWrapper::setNamedHiddenReference() to V8HiddenPropertyName.h
1549         https://bugs.webkit.org/show_bug.cgi?id=109186
1550
1551         Reviewed by Adam Barth.
1552
1553         V8HiddenPropertyName.h is a right place for setNamedHiddenReference().
1554
1555         No tests. No change in behavior.
1556
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:
1563         (V8DOMWrapper):
1564         * bindings/v8/V8HiddenPropertyName.cpp:
1565         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1566         (WebCore::V8HiddenPropertyName::setNamedHiddenReference):
1567         (WebCore):
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):
1575
1576 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
1577
1578         getComputedStyle() doesn't report intermediate values during a transition of a pseudo element
1579         https://bugs.webkit.org/show_bug.cgi?id=106535
1580
1581         Reviewed by Ojan Vafai.
1582
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.
1587
1588         No new tests, updated existing tests.
1589
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):
1595         * dom/Element.cpp:
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.
1599
1600 2013-02-07  Mark Lam  <mark.lam@apple.com>
1601
1602         Add a comment about how the SQLTransaction state machine works.
1603         https://bugs.webkit.org/show_bug.cgi?id=109243.
1604
1605         Rubber stamped by Anders Carlsson.
1606
1607         No new tests.
1608
1609         * Modules/webdatabase/SQLTransactionBackend.cpp:
1610
1611 2013-02-06  Gavin Barraclough  <barraclough@apple.com>
1612
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>
1616
1617         Reviewed by Darin Adler.
1618
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).
1621
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.
1628
1629         * WebCore.exp.in:
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.
1642
1643 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1644
1645         [V8] #ifndef NDEBUG is redundant for assertContextHasCorrectPrototype()
1646         https://bugs.webkit.org/show_bug.cgi?id=109167
1647
1648         Reviewed by Andreas Kling.
1649
1650         Given that assertContextHasCorrectPrototype() is anyway empty in a release
1651         build, we don't need to surround it with #ifndef NDEBUG.
1652
1653         No tests. No change in behavior.
1654
1655         * bindings/v8/DOMWrapperWorld.cpp:
1656         (WebCore::DOMWrapperWorld::assertContextHasCorrectPrototype):
1657         * bindings/v8/DOMWrapperWorld.h:
1658         (DOMWrapperWorld):
1659         (WebCore::DOMWrapperWorld::isolated):
1660
1661 2013-02-07  Alexei Svitkine  <asvitkine@chromium.org>
1662
1663         Chromium: Hang parsing bidi control chars on Mac OS X 10.6
1664         https://bugs.webkit.org/show_bug.cgi?id=108877
1665
1666         This was broken a while ago by:
1667             https://bugs.webkit.org/show_bug.cgi?id=83045
1668
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.
1673
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.
1677
1678         Fixes hang on many BiDi wikipedia pages on Chromium/Mac10.6.
1679         Chromium bug: http://crbug.com/167844
1680
1681         New test in the same style as the harfbuzz-buffer-overrun.html
1682         test (in the same folder).
1683
1684         Reviewed by Eric Seidel.
1685
1686         Test: fast/text/international/rtl-mark.html
1687
1688         * platform/graphics/mac/ComplexTextController.cpp:
1689         (WebCore::ComplexTextController::indexOfCurrentRun):
1690
1691 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1692
1693         Implement FocusEvent constructor
1694         https://bugs.webkit.org/show_bug.cgi?id=109170
1695
1696         Reviewed by Adam Barth.
1697
1698         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
1699
1700         FocusEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR
1701         flag, which is enabled on Chromium and Safari.
1702
1703         Test: fast/events/constructors/focus-event-constructor.html
1704
1705         * dom/FocusEvent.cpp:
1706         (WebCore::FocusEventInit::FocusEventInit):
1707         (WebCore):
1708         (WebCore::FocusEvent::FocusEvent):
1709         * dom/FocusEvent.h:
1710         (FocusEventInit):
1711         (WebCore):
1712         (WebCore::FocusEvent::create):
1713         (FocusEvent):
1714         * dom/FocusEvent.idl:
1715         * page/DOMWindow.idl:
1716
1717 2013-02-07  Elliott Sprehn  <esprehn@chromium.org>
1718
1719         HTML parser should queue MutationRecords for its operations
1720         https://bugs.webkit.org/show_bug.cgi?id=89351
1721
1722         Reviewed by Eric Seidel.
1723
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
1727         the parser.
1728
1729         Test: fast/dom/MutationObserver/parser-mutations.html
1730
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):
1744
1745 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1746
1747         Fix FIXMEs in WindowFeatures.h
1748         https://bugs.webkit.org/show_bug.cgi?id=109151
1749
1750         Reviewed by Adam Barth.
1751
1752         1. // FIXME: We can delete this constructor once V8 showModalDialog is
1753            // changed to use DOMWindow.
1754
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.
1758
1759         2. // FIXME: We can make these functions private non-member functions
1760            // once V8 showModalDialog is changed to use DOMWindow.
1761
1762         Given that V8 now uses DOMWindow in showModalDialog(), we can make the
1763         methods private.
1764
1765         No tests. No change in behavior.
1766
1767         * page/WindowFeatures.h:
1768         (WebCore):
1769         (WebCore::WindowFeatures::WindowFeatures):
1770         (WindowFeatures):
1771
1772 2013-02-07  Adam Barth  <abarth@webkit.org>
1773
1774         fast/parser/document-write-noscript.html fails for threaded HTML parser
1775         https://bugs.webkit.org/show_bug.cgi?id=109237
1776
1777         Reviewed by Eric Seidel.
1778
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.
1784
1785         Test: fast/parser/document-write-basic.html
1786
1787         * html/parser/HTMLDocumentParser.cpp:
1788         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1789         (WebCore::HTMLDocumentParser::insert):
1790         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1791
1792 2013-02-07  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
1793
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
1796
1797         Reviewed by Benjamin Poulain.
1798
1799         * css/InspectorCSSOMWrappers.cpp:
1800         (WebCore::InspectorCSSOMWrappers::collect):
1801
1802 2013-02-07  Keishi Hattori  <keishi@webkit.org>
1803
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
1806
1807         Reviewed by Kent Tamura.
1808
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.
1812
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
1815
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.
1822
1823 2013-02-07  Terry Anderson  <tdanderson@chromium.org>
1824
1825         Non-scrollable divs and non-scrollable iframes can scroll with touch
1826         https://bugs.webkit.org/show_bug.cgi?id=109087
1827
1828         Reviewed by Eric Seidel.
1829
1830         Tests: fast/events/touch/gesture/touch-gesture-noscroll-div.html
1831                fast/events/touch/gesture/touch-gesture-noscroll-iframe.html
1832
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.
1838
1839         * page/EventHandler.cpp:
1840         (WebCore::closestScrollableNodeCandidate):
1841         (WebCore::EventHandler::handleGestureScrollUpdate):
1842         * rendering/RenderLayer.cpp:
1843         (WebCore::RenderLayer::scrollBy):
1844
1845 2013-02-07  Mark Lam  <mark.lam@apple.com>
1846
1847         Introduce SQLTransactionBackend and SQLTransactionBackendSync [Part 2].
1848         https://bugs.webkit.org/show_bug.cgi?id=109109.
1849
1850         Reviewed by Anders Carlsson.
1851
1852         Adding back the new SQLTransaction and SQLTransactionSync files.
1853
1854         No new tests.
1855
1856         * Modules/webdatabase/SQLTransaction.cpp: Added.
1857         (WebCore::SQLTransaction::create):
1858         (WebCore::SQLTransaction::SQLTransaction):
1859         (WebCore::SQLTransaction::from):
1860         * Modules/webdatabase/SQLTransaction.h: Added.
1861         (SQLTransaction):
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):
1868
1869 2013-02-07  Mark Lam  <mark.lam@apple.com>
1870
1871         Introduce SQLTransactionBackend and SQLTransactionBackendSync.
1872         https://bugs.webkit.org/show_bug.cgi?id=109109.
1873
1874         Reviewed by Anders Carlsson.
1875
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
1881           properly split.
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.
1891
1892         No new tests.
1893
1894         * CMakeLists.txt:
1895         * GNUmakefile.list.am:
1896         * Modules/webdatabase/Database.cpp:
1897         (WebCore::Database::scheduleTransactionStep):
1898         * Modules/webdatabase/Database.h:
1899         (Database):
1900         * Modules/webdatabase/DatabaseBackend.h:
1901         (DatabaseBackend):
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):
1958         (CoordinationInfo):
1959         * Modules/webdatabase/SQLTransactionSync.cpp: Removed.
1960         * Modules/webdatabase/SQLTransactionSync.h: Removed.
1961         * Target.pri:
1962         * WebCore.gypi:
1963         * WebCore.vcproj/WebCore.vcproj:
1964         * WebCore.vcxproj/WebCore.vcxproj:
1965         * WebCore.vcxproj/WebCore.vcxproj.filters:
1966         * WebCore.xcodeproj/project.pbxproj:
1967
1968 2013-02-07  Dean Jackson  <dino@apple.com>
1969
1970         Use new speech bubble artwork for captions menu button
1971         https://bugs.webkit.org/show_bug.cgi?id=109215
1972
1973         Reviewed by Eric Carlson.
1974
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
1977         RenderTheme.
1978
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.
1986
1987 2013-02-07  Michelangelo De Simone  <michelangelo@webkit.org>
1988
1989         [CSS Shaders] Add the last blending step
1990         https://bugs.webkit.org/show_bug.cgi?id=104012
1991
1992         The resulting blended color in mix() is now weighted according to
1993         the original element's backdrop alpha value.
1994
1995         Reviewed by Dean Jackson.
1996
1997         Test: css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
1998
1999         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2000         (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
2001
2002 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2003
2004         Fix two exports of WebCore symbols on iOS
2005         https://bugs.webkit.org/show_bug.cgi?id=109238
2006
2007         Reviewed by David Kilzer.
2008
2009         * WebCore.exp.in: Export wkCTFontTransformGlyphs but not
2010         wkCGContextDrawsWithCorrectShadowOffsets on iOS.
2011
2012 2013-02-07  Hans Muller  <hmuller@adobe.com>
2013
2014         [CSS Exclusions] Ignore ExclusionPolygon edges above minLogicalIntervalTop
2015         https://bugs.webkit.org/show_bug.cgi?id=107566
2016
2017         Reviewed by David Hyatt.
2018
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
2022         first fit location.
2023
2024         Test: fast/exclusions/shape-inside/shape-inside-first-fit-004.html
2025
2026         * rendering/ExclusionPolygon.cpp:
2027         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Don't create offset edges for polygon edges above minLogicalIntervalTop.
2028
2029 2013-02-07  Jer Noble  <jer.noble@apple.com>
2030
2031         Improve logging of MediaPlayerPrivateAVFoundation Notifications.
2032         https://bugs.webkit.org/show_bug.cgi?id=109223
2033
2034         Reviewed by Eric Carlson.
2035
2036         Convert the existing Notification enum to an expandable macro. Then add a
2037         Logging-only function which stringifies the enums.
2038
2039         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2040         (WebCore):
2041         (WebCore::notificationName):
2042         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
2043         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2044         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2045
2046 2013-02-07  Martin Robinson  <mrobinson@igalia.com>
2047
2048         [GTK] Cleanup command-line defines
2049         https://bugs.webkit.org/show_bug.cgi?id=109213
2050
2051         Reviewed by Xan Lopez.
2052
2053         * GNUmakefile.am: Remove references to flags that are now handled
2054         via autotoolsconfig.h.
2055
2056 2013-02-07  Tom Sepez  <tsepez@chromium.org>
2057
2058         [V8] Binding Integrity crash in V8MediaStream::createWrapper
2059         https://bugs.webkit.org/show_bug.cgi?id=109211
2060
2061         Reviewed by Adam Barth.
2062
2063         Patch suppresses a chrome crasher.
2064
2065         * Modules/mediastream/MediaStream.idl:
2066
2067 2013-02-07  Eric Carlson  <eric.carlson@apple.com>
2068
2069         [Mac] decrease in-band caption advance notice interval
2070         https://bugs.webkit.org/show_bug.cgi?id=109190
2071
2072         Reviewed by Simon Fraser.
2073
2074         No new tests, no observable change in behavior.
2075
2076         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2077         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Request cues 2 seconds in advance.
2078
2079 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
2080
2081         [GTK][AC] Clutter required version up to 1.12
2082         https://bugs.webkit.org/show_bug.cgi?id=109037
2083
2084         Reviewed by Martin Robinson.
2085
2086         Replace deprecated clutter apis with new ones.
2087
2088         No new tests, since this patch is minor refactoring.
2089
2090         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2091         (graphicsLayerActorSetAnchorPoint):
2092         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2093         (WebCore::idleDestroy):
2094         (WebCore::GraphicsLayerClutter::updateSublayerList):
2095
2096 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2097
2098         Move pauseAnimation/pauseTransition from TestRunner to Internals
2099         https://bugs.webkit.org/show_bug.cgi?id=109107
2100
2101         Reviewed by Anders Carlsson.
2102
2103         Tests: animations/animation-internals-api-multiple-keyframes.html
2104                animations/animation-internals-api.html
2105
2106         * testing/Internals.cpp:
2107         (WebCore::Internals::pauseAnimationAtTimeOnElement):
2108         (WebCore):
2109         (WebCore::Internals::pauseTransitionAtTimeOnElement):
2110         * testing/Internals.h:
2111         (Internals):
2112         * testing/Internals.idl:
2113
2114 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2115
2116         Unreviewed, rolling out r142155.
2117         http://trac.webkit.org/changeset/142155
2118         https://bugs.webkit.org/show_bug.cgi?id=82888
2119
2120         cr/win build broke.
2121
2122         * bindings/js/JSClipboardCustom.cpp:
2123         (WebCore::JSClipboard::types):
2124         * bindings/v8/custom/V8ClipboardCustom.cpp:
2125         (WebCore::V8Clipboard::typesAccessorGetter):
2126         * dom/Clipboard.h:
2127         (Clipboard):
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:
2143         (ClipboardEfl):
2144         * platform/gtk/ClipboardGtk.cpp:
2145         (WebCore::ClipboardGtk::types):
2146         * platform/gtk/ClipboardGtk.h:
2147         (ClipboardGtk):
2148         * platform/mac/ClipboardMac.h:
2149         (ClipboardMac):
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:
2156         (ClipboardQt):
2157         * platform/win/ClipboardWin.cpp:
2158         (WebCore::addMimeTypesForFormat):
2159         (WebCore::ClipboardWin::types):
2160         * platform/win/ClipboardWin.h:
2161         (ClipboardWin):
2162
2163 2013-02-07  Rik Cabanier  <cabanier@adobe.com>
2164
2165         Add support for parsing of -webkit-background-blend-mode
2166         https://bugs.webkit.org/show_bug.cgi?id=108547
2167
2168         Reviewed by David Hyatt.
2169
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
2172
2173         Tests: css3/compositing/background-blend-mode-property-parsing.html
2174                css3/compositing/background-blend-mode-property.html
2175
2176         * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
2177         (WebCore):
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):
2187         (WebCore):
2188         * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
2189         (CSSToStyleMap):
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):
2203         (FillLayer):
2204
2205 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2206
2207         Unreviewed, rolling out r142142.
2208         http://trac.webkit.org/changeset/142142
2209         https://bugs.webkit.org/show_bug.cgi?id=109154
2210
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 .
2212
2213
2214         * inspector/front-end/DefaultTextEditor.js:
2215         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2216
2217 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2218
2219         Unreviewed, rolling out r142081.
2220         http://trac.webkit.org/changeset/142081
2221         https://bugs.webkit.org/show_bug.cgi?id=109146
2222
2223         The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
2224
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 .
2226
2227         * dom/WebCoreMemoryInstrumentation.cpp:
2228         (WebCore):
2229         * inspector/front-end/NativeMemorySnapshotView.js:
2230         (WebInspector.MemoryBlockViewProperties._initialize):
2231         * platform/PlatformMemoryInstrumentation.cpp:
2232         (WebCore):
2233
2234 2013-02-07  Bear Travis  <betravis@adobe.com>
2235
2236         [CSS Exclusions] shape-inside does not properly handle padding or border
2237         https://bugs.webkit.org/show_bug.cgi?id=102715
2238
2239         Reviewed by David Hyatt.
2240
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.
2245
2246         Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
2247
2248         * rendering/ExclusionShapeInfo.cpp:
2249         (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
2250         geometry code.
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.
2273
2274 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2275
2276         Upstream iOS isWebThread() and isUIThread()
2277         https://bugs.webkit.org/show_bug.cgi?id=109130
2278
2279         Reviewed by Sam Weinig.
2280
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
2286         using a WebThread.
2287
2288 2013-02-07  Vivek Galatage  <vivek.vg@samsung.com>
2289
2290         Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
2291         https://bugs.webkit.org/show_bug.cgi?id=107937
2292
2293         Reviewed by Yury Semikhatsky.
2294
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.
2299
2300         Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
2301
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):
2330
2331 2013-02-07  Dan Carney  <dcarney@google.com>
2332
2333         [v8] move persistent::new and ::dispose into same class
2334         https://bugs.webkit.org/show_bug.cgi?id=109065
2335
2336         Reviewed by Adam Barth.
2337
2338         No new tests. No change in functionality.
2339
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):
2384         (DOMDataStore):
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):
2396         (ScriptWrappable):
2397         (WebCore::ScriptWrappable::disposeWrapper):
2398         (WebCore::ScriptWrappable::weakCallback):
2399         * bindings/v8/V8DOMWindowShell.cpp:
2400         (WebCore::V8DOMWindowShell::installDOMWindow):
2401         * bindings/v8/V8DOMWrapper.h:
2402         (V8DOMWrapper):
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:
2411         (WebCore):
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):
2438
2439 2013-02-07  Zan Dobersek  <zdobersek@igalia.com>
2440
2441         [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
2442         https://bugs.webkit.org/show_bug.cgi?id=109198
2443
2444         Reviewed by Martin Robinson.
2445
2446         * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
2447
2448 2013-02-07   Vineet Chaudhary  <rgf748@motorola.com>
2449
2450         Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
2451         https://bugs.webkit.org/show_bug.cgi?id=82888
2452
2453         Reviewed by Kentaro Hara.
2454
2455         As part of removing custom bindings of types Array Clipboard::types() needs to return
2456         Vector<String> than ListHashSet<String>
2457
2458         No new tests. Existing test should pass with this change as no behavoural changes.
2459
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.
2491
2492 2013-02-07  Kentaro Hara  <haraken@chromium.org>
2493
2494         [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
2495         https://bugs.webkit.org/show_bug.cgi?id=109123
2496
2497         Reviewed by Adam Barth.
2498
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.
2503
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.)
2506
2507         No tests. This change highly depends on GC behavior and thus it is
2508         difficult to make a reliable test case.
2509
2510         * bindings/v8/V8ValueCache.cpp:
2511         (WebCore::makeExternalString):
2512         * bindings/v8/V8ValueCache.h:
2513         (StringCache):
2514
2515 2013-01-27  Robert Hogan  <robert@webkit.org>
2516
2517         CSS 2.1 failure: floats-149 fails
2518         https://bugs.webkit.org/show_bug.cgi?id=95772
2519
2520         Reviewed by David Hyatt.
2521
2522         Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
2523
2524         Tests: fast/inline/inline-with-empty-inline-children.html
2525                css2.1/20110323/floats-149.htm
2526
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. 
2533
2534 2013-02-07  peavo@outlook.com  <peavo@outlook.com>
2535
2536         [WinCairo] Compile fix after r141981
2537         https://bugs.webkit.org/show_bug.cgi?id=109184
2538
2539         Reviewed by Brent Fulgham.
2540
2541         * platform/network/curl/ResourceHandleCurl.cpp:
2542         (WebCore::ResourceHandle::loadResourceSynchronously):
2543
2544 2013-02-07  Otto Derek Cheung  <otcheung@rim.com>
2545
2546         [BlackBerry] Cookie database isn't loaded into memory in some rare cases
2547         https://bugs.webkit.org/show_bug.cgi?id=109202
2548         PR 286189
2549
2550         Reviewed by Yong Li.
2551         Internally Reviewed by Konrad Piascik.
2552
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.
2557
2558         Instead of logging the errors and redispatching the setCookie, we should do a force sync
2559         to load the cookie database before continuing.
2560
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.
2567
2568         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
2569         (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
2570         (WebCore):
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):
2578
2579 2013-02-07  Max Vujovic  <mvujovic@adobe.com>
2580
2581         [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
2582         https://bugs.webkit.org/show_bug.cgi?id=109082
2583
2584         Reviewed by Dean Jackson.
2585
2586         Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
2587
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
2590
2591         * page/DOMWindow.idl:
2592
2593 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
2594
2595         Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
2596         https://bugs.webkit.org/show_bug.cgi?id=109201
2597
2598         Reviewed by Pavel Feldman.
2599
2600         * inspector/front-end/NetworkUISourceCodeProvider.js:
2601         (WebInspector.NetworkUISourceCodeProvider):
2602         * inspector/front-end/inspector.js:
2603
2604 2013-02-07  Jessie Berlin  <jberlin@apple.com>
2605
2606         REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
2607         by key
2608         https://bugs.webkit.org/show_bug.cgi?id=109196
2609
2610         Reviewed by Eric Carlson.
2611
2612         * English.lproj/Localizable.strings:
2613         Updated for the changes.
2614         * platform/LocalizedStrings.cpp:
2615         (WebCore::unknownFileSizeText):
2616         Add a key.
2617         (WebCore::textTrackNoLabelText):
2618         Ditto.
2619
2620 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
2621
2622         Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
2623         https://bugs.webkit.org/show_bug.cgi?id=109197
2624
2625         Reviewed by Pavel Feldman.
2626
2627         Javascript syntax errors in console are now linkified so that they show sources panel by default.
2628
2629         * inspector/front-end/ResourceUtils.js:
2630         (WebInspector.linkifyResourceAsNode):
2631
2632 2013-02-07  Eberhard Graether  <egraether@google.com>
2633
2634         Web Inspector: Add settings checkbox for composited layer borders
2635         https://bugs.webkit.org/show_bug.cgi?id=109096
2636
2637         Reviewed by Pavel Feldman.
2638
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.
2642
2643         No new tests.
2644
2645         * English.lproj/localizedStrings.js:
2646         * inspector/Inspector.json:
2647         * inspector/InspectorClient.h:
2648         (WebCore::InspectorClient::canShowDebugBorders):
2649         (WebCore::InspectorClient::setShowDebugBorders):
2650         (InspectorClient):
2651         * inspector/InspectorPageAgent.cpp:
2652         (PageAgentState):
2653         (WebCore::InspectorPageAgent::restore):
2654         (WebCore::InspectorPageAgent::disable):
2655         (WebCore::InspectorPageAgent::canShowDebugBorders):
2656         (WebCore):
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):
2665
2666 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2667
2668         Unreviewed, rolling out r142141.
2669         http://trac.webkit.org/changeset/142141
2670         https://bugs.webkit.org/show_bug.cgi?id=108990
2671
2672         Reland r142112, will update Chromium expectations and create a
2673         Chromium bug instead for the crash.
2674
2675         * CMakeLists.txt:
2676         * Target.pri:
2677         * WebCore.pri:
2678         * page/scrolling/ScrollingCoordinator.cpp:
2679         (WebCore::ScrollingCoordinator::create):
2680         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
2681         (WebCore):
2682         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2683         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
2684         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
2685         (WebCore):
2686         (ScrollingCoordinatorCoordinatedGraphics):
2687         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2688         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
2689         (WebCore):
2690         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2691         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2692         (CoordinatedGraphicsLayerClient):
2693         (CoordinatedGraphicsLayer):
2694
2695 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
2696
2697         Web Inspector: home button behaviour is wrong in DTE
2698         https://bugs.webkit.org/show_bug.cgi?id=109154
2699
2700         Reviewed by Vsevolod Vlasov.
2701
2702         Handle home key shortcut explicitly in TextEditorMainPanel.
2703
2704         New test: inspector/editor/text-editor-home-button.html
2705
2706         * inspector/front-end/DefaultTextEditor.js:
2707         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2708         (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
2709
2710 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2711
2712         Unreviewed, rolling out r142112.
2713         http://trac.webkit.org/changeset/142112
2714         https://bugs.webkit.org/show_bug.cgi?id=108990
2715
2716         The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
2717
2718         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
2719
2720         * CMakeLists.txt:
2721         * Target.pri:
2722         * WebCore.pri:
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):
2732
2733 2013-02-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2734
2735         Scrollbars misplaced with accelerated compositing for overflow scroll
2736         https://bugs.webkit.org/show_bug.cgi?id=108625
2737
2738         Reviewed by Simon Fraser.
2739
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.
2743
2744         * rendering/RenderLayerBacking.cpp:
2745         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
2746         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
2747         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
2748
2749 2013-02-07  Mike West  <mkwst@chromium.org>
2750
2751         Don't ASSERT things about uninitialized variables.
2752         https://bugs.webkit.org/show_bug.cgi?id=109187
2753
2754         Reviewed by Jochen Eisinger.
2755
2756         Rather than ASSERTing that an uninitialized ExceptionCode is non-zero
2757         after some method executes, we should use the ASSERT_NO_EXCEPTION macro.
2758
2759         * editing/markup.cpp:
2760         (WebCore::removeElementPreservingChildren):
2761
2762 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
2763
2764         Web Inspector: [Regression] breakpoint condition not editable
2765         https://bugs.webkit.org/show_bug.cgi?id=109183
2766
2767         Reviewed by Vsevolod Vlasov.
2768
2769         Improve TextEditorMainPanel.selection() method to return null if the
2770         selection is set inside of decoration element.
2771
2772         No new tests.
2773
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):
2778
2779 2013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2780
2781         [WK2][EFL][QT]REGRESSION(r142045): Scrolling is broken
2782         https://bugs.webkit.org/show_bug.cgi?id=109185
2783
2784         Reviewed by Kenneth Rohde Christiansen.
2785
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).
2788
2789         No new tests, covered by plenty of existing manual tests that allow scrolling
2790         (for example fixed-position.html).
2791
2792         * platform/ScrollView.cpp:
2793         (WebCore::ScrollView::paint):
2794
2795 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2796
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
2799
2800         Reviewed by Pavel Feldman.
2801
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.
2805
2806         No new tests.
2807
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):
2864         (.pane-title):
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):
2879         (.sidebar-pane):
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):
2889
2890 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2891
2892         Unreviewed, rolling out r142111.
2893         http://trac.webkit.org/changeset/142111
2894         https://bugs.webkit.org/show_bug.cgi?id=108055
2895
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
2897
2898         * Resources/pagepopups/calendarPicker.css:
2899         (.today-clear-area .today-button):
2900         * Resources/pagepopups/calendarPicker.js:
2901         (CalendarPicker.prototype.fixWindowSize):
2902
2903 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
2904
2905         Web Inspector: [Regression] Map.size() returns negative values.
2906         https://bugs.webkit.org/show_bug.cgi?id=109174
2907
2908         Reviewed by Yury Semikhatsky.
2909
2910         * inspector/front-end/utilities.js:
2911
2912 2013-02-07  Pavel Feldman  <pfeldman@chromium.org>
2913
2914         Web Inspector: break details are only rendered upon first debugger pause.
2915         https://bugs.webkit.org/show_bug.cgi?id=109193
2916
2917         Reviewed by Vsevolod Vlasov.
2918
2919         * inspector/front-end/CallStackSidebarPane.js:
2920         (WebInspector.CallStackSidebarPane.prototype.update):
2921
2922 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2923
2924         Unreviewed, rolling out r142118.
2925         http://trac.webkit.org/changeset/142118
2926         https://bugs.webkit.org/show_bug.cgi?id=109044
2927
2928         Broke SVG! Oh noes!
2929
2930         * Modules/indexeddb/IDBCursor.cpp:
2931         (WebCore::IDBCursor::direction):
2932         * Modules/indexeddb/IDBObjectStore.cpp:
2933         (WebCore):
2934         * Modules/indexeddb/IDBTransaction.cpp:
2935         (WebCore::IDBTransaction::mode):
2936         * dom/ContainerNode.cpp:
2937         (WebCore::ContainerNode::takeAllChildrenFrom):
2938         * dom/Document.cpp:
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):
3022
3023 2013-02-07  Kentaro Hara  <haraken@chromium.org>
3024
3025         Remove #if USE(V8) from IDBRequest.h
3026         https://bugs.webkit.org/show_bug.cgi?id=109163
3027
3028         Reviewed by Andreas Kling.
3029
3030         The header included inside the #if USE(V8) macro is not used.
3031         We can simply remove it.
3032
3033         No tests. No change in behavior.
3034
3035         * Modules/indexeddb/IDBRequest.h:
3036
3037 2013-02-07  Stephen Chenney  <schenney@chromium.org>
3038
3039         GraphicsContext::drawImageBuffer is inefficient
3040         https://bugs.webkit.org/show_bug.cgi?id=104367
3041
3042         Reviewed by Dirk Schulze.
3043
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.
3051
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
3054         WebKit checkout.
3055
3056         No new tests. No change in functionality, just refactoring.
3057
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.
3065
3066 2013-02-07  Kent Tamura  <tkent@chromium.org>
3067
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
3070
3071         Reviewed by Kentaro Hara.
3072
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
3076         of them.
3077
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
3084         decimal points.
3085
3086         Test: fast/forms/number/number-l10n-input.html
3087
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.
3092
3093 2013-02-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
3094
3095         [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
3096         https://bugs.webkit.org/show_bug.cgi?id=109126
3097         PR 292540
3098
3099         Reviewed by Yong Li.
3100
3101         Change char code to 4 bytes.
3102         Need to convert UTF32 key char to UTF16 before constructing a WTF::String.
3103
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):
3112
3113 2013-02-07  Mike West  <mkwst@chromium.org>
3114
3115         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
3116         https://bugs.webkit.org/show_bug.cgi?id=109044
3117
3118         Reviewed by Darin Adler.
3119
3120         The pattern:
3121
3122             ExceptionCode ec = 0;
3123             methodThatGeneratesException(ec);
3124             ASSERT(!ec);
3125
3126         is more clearly and succinctly written as:
3127
3128             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
3129
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.
3134
3135         No change in behavior should result from this refactoring.
3136
3137         * Modules/indexeddb/IDBCursor.cpp:
3138         (WebCore::IDBCursor::direction):
3139         * Modules/indexeddb/IDBObjectStore.cpp:
3140         (WebCore):
3141         * Modules/indexeddb/IDBTransaction.cpp:
3142         (WebCore::IDBTransaction::mode):
3143         * dom/ContainerNode.cpp:
3144         (WebCore::ContainerNode::takeAllChildrenFrom):
3145         * dom/Document.cpp:
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.
3234
3235 2013-02-07  Mary Wu  <mary.wu@torchmobile.com.cn>
3236
3237         [BlackBerry] Export mimeType in NetworkJob
3238         https://bugs.webkit.org/show_bug.cgi?id=109002
3239
3240         Reviewed by Yong Li.
3241
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.
3244
3245         RIM bug# 284408, internally reviewed by Liam Quinn.
3246
3247         * platform/network/blackberry/NetworkJob.cpp:
3248         (WebCore::NetworkJob::mimeType):
3249         (WebCore):
3250         * platform/network/blackberry/NetworkJob.h:
3251         (NetworkJob):
3252
3253 2013-02-07  Peter Rybin  <prybin@chromium.org>
3254
3255         Web Inspector: support JavaScript variable mutation in protocol and V8 bindings
3256         https://bugs.webkit.org/show_bug.cgi?id=107829
3257
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.
3261
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).
3267
3268         Reviewed by Pavel Feldman.
3269
3270         Test: inspector-protocol/debugger-setVariableValue.html
3271
3272         * bindings/js/JSInjectedScriptHostCustom.cpp:
3273         (WebCore::JSInjectedScriptHost::setFunctionVariableValue):
3274         (WebCore):
3275         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3276         (WebCore::JSJavaScriptCallFrame::setVariableValue):
3277         (WebCore):
3278         * bindings/v8/DebuggerScript.js:
3279         (.):
3280         * bindings/v8/JavaScriptCallFrame.cpp:
3281         (WebCore::JavaScriptCallFrame::setVariableValue):
3282         (WebCore):
3283         * bindings/v8/JavaScriptCallFrame.h:
3284         (JavaScriptCallFrame):
3285         * bindings/v8/ScriptDebugServer.cpp:
3286         (WebCore::ScriptDebugServer::setFunctionVariableValue):
3287         (WebCore):
3288         * bindings/v8/ScriptDebugServer.h:
3289         (ScriptDebugServer):
3290         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3291         (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallback):
3292         (WebCore):
3293         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3294         (WebCore::V8JavaScriptCallFrame::setVariableValueCallback):
3295         (WebCore):
3296         * inspector/InjectedScript.cpp:
3297         (WebCore::InjectedScript::setVariableValue):
3298         (WebCore):
3299         * inspector/InjectedScript.h:
3300         (InjectedScript):
3301         * inspector/InjectedScriptHost.idl:
3302         * inspector/InjectedScriptSource.js:
3303         (.):
3304         * inspector/Inspector.json:
3305         * inspector/InspectorDebuggerAgent.cpp:
3306         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3307         (WebCore::InspectorDebuggerAgent::setVariableValue):
3308         (WebCore):
3309         * inspector/InspectorDebuggerAgent.h:
3310         (InspectorDebuggerAgent):
3311         * inspector/JavaScriptCallFrame.idl:
3312
3313 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3314
3315         [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
3316         https://bugs.webkit.org/show_bug.cgi?id=108990
3317
3318         Reviewed by Noam Rosenthal.
3319
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.
3322
3323         The function ScrollingCoordinator::setLayerIsFixedToContainerLayer() is called when
3324         RenderLayerBacking is updating its graphics layers.
3325
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.
3330
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.
3335
3336         * CMakeLists.txt:
3337         * Target.pri:
3338         * WebCore.pri:
3339         * page/scrolling/ScrollingCoordinator.cpp:
3340         (WebCore::ScrollingCoordinator::create): create specific version of ScrollingCoordinator.
3341         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
3342         (WebCore):
3343         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
3344         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
3345         update layer information using existing hook in ScrollingCoordinator.
3346         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
3347         (WebCore):
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
3352         next frame.
3353         (WebCore):
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):
3358
3359 2013-02-07  Keishi Hattori  <keishi@webkit.org>
3360
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
3363
3364         Reviewed by Kent Tamura.
3365
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.
3369
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
3372
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.
3379
3380 2013-02-07  Gustavo Noronha Silva  <gns@gnome.org>
3381
3382         Unreviewed build fix. libWebCore.la needs to be relinked when
3383         symbols.filter changes.
3384
3385         * GNUmakefile.am: add symbols.filter as a dependency for the
3386         libWebCore.la library.
3387
3388 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
3389
3390         Web Inspector: Closure compilation fixes
3391         https://bugs.webkit.org/show_bug.cgi?id=109131
3392
3393         Reviewed by Yury Semikhatsky.
3394
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:
3402
3403 2013-02-07  Kentaro Hara  <haraken@chromium.org>
3404
3405         Unreviewed, rolling out r142077.
3406         http://trac.webkit.org/changeset/142077
3407         https://bugs.webkit.org/show_bug.cgi?id=108579
3408
3409         fast/filesystem/workers/file-writer-empty-blob.html is broken
3410
3411         * bindings/v8/DOMDataStore.h:
3412         (WebCore::DOMDataStore::setWrapperInObject):
3413         * bindings/v8/DOMWrapperWorld.h:
3414         (DOMWrapperWorld):
3415         (WebCore::DOMWrapperWorld::isolated):
3416         * bindings/v8/V8Binding.h:
3417         (WebCore):
3418         (WebCore::worldForEnteredContextIfIsolated):
3419         * bindings/v8/V8DOMWindowShell.cpp:
3420         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3421         * bindings/v8/V8GCController.cpp:
3422         (WebCore::WrapperVisitor::WrapperVisitor):
3423         (WebCore):
3424         (WebCore::gcTree):
3425         (WebCore::V8GCController::didCreateWrapperForNode):
3426         (WebCore::V8GCController::gcPrologue):
3427         (WebCore::V8GCController::minorGCPrologue):
3428         (WebCore::V8GCController::majorGCPrologue):
3429         * bindings/v8/V8GCController.h:
3430         (V8GCController):
3431
3432 2013-02-07  Tony Gentilcore  <tonyg@chromium.org>
3433
3434         Call XSSAuditor.filterToken() from threaded HTML parser
3435         https://bugs.webkit.org/show_bug.cgi?id=107603
3436
3437         Reviewed by Adam Barth.
3438
3439         With this patch we now pass 180 of 182 tests in http/tests/security/xssAuditor.
3440
3441         We do this by creating aan XSSAuditor on the main thread and passing ownership of them to the BackgroundHTMLParser upon its creation.
3442
3443         Then the background thread calls filterToken() and stores the resulting XSSInfo (if any) on the CompactHTMLToken for the main thread to handle.
3444
3445         This involved trimming the XSSAuditor to only depend on the TextEncoding instead of the whole TextResourceDecoder.
3446
3447         No new tests because covered by existing tests.
3448
3449         * html/parser/BackgroundHTMLParser.cpp:
3450         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3451         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3452         (WebCore::BackgroundHTMLParser::createPartial):
3453         * html/parser/BackgroundHTMLParser.h:
3454         (WebCore):
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.
3475         (WebCore):
3476         * html/parser/XSSAuditor.h:
3477         (WebCore):
3478         (WebCore::FilterTokenRequest::FilterTokenRequest):
3479         (FilterTokenRequest):
3480         (XSSAuditor):
3481
3482 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
3483
3484         [GTK][AC] Implement opacity animation with clutter ac backend
3485         https://bugs.webkit.org/show_bug.cgi?id=108961
3486
3487         Reviewed by Gustavo Noronha Silva.
3488
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.
3495
3496         Covered by existing animation tests.
3497
3498         * GNUmakefile.list.am:
3499         * platform/graphics/clutter/GraphicsLayerActor.cpp:
3500         (graphicsLayerActorGetAnimationForKey):
3501         * platform/graphics/clutter/GraphicsLayerActor.h:
3502         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3503         (WebCore):
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.
3532         (WebCore):
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.
3578         (WebCore):
3579         (PlatformClutterAnimation):
3580         (WebCore::PlatformClutterAnimation::animationType):
3581
3582 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
3583
3584         Web Inspector: highlight matching braces in DTE.
3585         https://bugs.webkit.org/show_bug.cgi?id=108697
3586
3587         Reviewed by Pavel Feldman.
3588
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
3594         functionality.
3595
3596         New test: inspector/editor/brace-matcher.html
3597
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):
3612
3613 2013-02-05  Eunmi Lee  <eunmi15.lee@samsung.com> and Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3614
3615         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
3616         https://bugs.webkit.org/show_bug.cgi?id=97173
3617
3618         Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
3619
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
3623         process.
3624
3625         No new tests. This patch doesn't change behavior.
3626
3627         * platform/efl/RunLoopEfl.cpp:
3628         (WebCore::RunLoop::RunLoop):
3629         (WebCore::RunLoop::~RunLoop):
3630
3631 2013-02-07  Ilya Tikhonovsky  <loislo@chromium.org>
3632
3633         Unreviewed fix for inspector tests in debug.
3634         m_frontend should be initialized in constructor.
3635
3636         * inspector/InspectorMemoryAgent.cpp:
3637         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
3638
3639 2013-02-07  Yury Semikhatsky  <yurys@chromium.org>
3640
3641         Web Inspector: reduce number of native memory instrumentation categories
3642         https://bugs.webkit.org/show_bug.cgi?id=109146
3643
3644         Reviewed by Pavel Feldman.
3645
3646         Merged some of memory instrumentation categories.
3647
3648         * dom/WebCoreMemoryInstrumentation.cpp:
3649         (WebCore):
3650         * inspector/front-end/NativeMemorySnapshotView.js:
3651         (WebInspector.MemoryBlockViewProperties._initialize):
3652         * platform/PlatformMemoryInstrumentation.cpp:
3653         (WebCore):
3654
3655 2013-02-04  Kentaro Hara  <haraken@chromium.org>
3656
3657         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
3658         https://bugs.webkit.org/show_bug.cgi?id=108579
3659
3660         Reviewed by Adam Barth.
3661
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
3667         the latest GC'.
3668
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).
3674
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.
3679
3680         Before:
3681           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
3682
3683         After:
3684           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
3685
3686         As shown above, I couldn't observe any performance regression.
3687
3688         No tests. No change in behavior.
3689
3690         * bindings/v8/DOMDataStore.h:
3691         (WebCore::DOMDataStore::setWrapperInObject):
3692         * bindings/v8/DOMWrapperWorld.h:
3693         (DOMWrapperWorld):
3694         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
3695         * bindings/v8/V8Binding.h:
3696         (WebCore):
3697         (WebCore::worldForEnteredContextIfIsolated):
3698         (WebCore::worldForEnteredContextWithoutContextCheck):
3699         * bindings/v8/V8DOMWindowShell.cpp:
3700         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3701         * bindings/v8/V8GCController.cpp:
3702         (WebCore::gcTree):
3703         (WebCore):
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:
3712         (V8GCController):
3713
3714 2013-02-06  Kent Tamura  <tkent@chromium.org>
3715
3716         REGRESSION(r141195): INPUT_MULTIPLE_FIELDS_UI: Space in a placeholder string is removed
3717         https://bugs.webkit.org/show_bug.cgi?id=109132
3718
3719         Reviewed by Hajime Morita.
3720
3721         <input  type=date> should be shown in Japanese UI as:
3722         [ 年 /月/日]
3723         But it is shown wrongly since r141195:
3724         [年 /月/日]
3725
3726         We should use white-space:pre.
3727
3728         No new tests. This change is not testable in WebKit because this
3729         requires a Japanese-localized UI string of Chromium.
3730
3731         * css/html.css:
3732         (input::-webkit-datetime-edit-fields-wrapper):
3733         Use white-space:pre instead of nowrap.
3734
3735 2013-02-06  Kentaro Hara  <haraken@chromium.org>
3736
3737         Remove DOMWindow::parseModalDialogFeatures()
3738         https://bugs.webkit.org/show_bug.cgi?id=109139
3739
3740         Reviewed by Kent Tamura.
3741
3742         No one uses the method. FIXME is saying:
3743
3744           // FIXME: We can remove this function once V8 showModalDialog is changed to use DOMWindow.
3745
3746         Given that V8's showModalDialog() is now using DOMWindow, we can remove it.
3747
3748         No tests. No change in behavior.
3749
3750         * page/DOMWindow.cpp:
3751         * page/DOMWindow.h:
3752         (DOMWindow):
3753
3754 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
3755
3756         Web Inspector: Native Memory Instrumentation: reduce native heap snapshot runtime memory footprint
3757         https://bugs.webkit.org/show_bug.cgi?id=108824
3758
3759         Reviewed by Yury Semikhatsky.
3760
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.
3766
3767         * inspector/HeapGraphSerializer.cpp:
3768         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
3769         (WebCore::HeapGraphSerializer::pushUpdateIfNeed):
3770         (WebCore):
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):
3790         (WebCore):
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):
3816
3817 2013-02-03  Kentaro Hara  <haraken@chromium.org>
3818
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
3821
3822         Reviewed by Eric Seidel.
3823
3824         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-FocusEvent
3825
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.
3829
3830         Test: fast/events/related-target-focusevent.html
3831
3832         * CMakeLists.txt:
3833         * DerivedSources.cpp:
3834         * DerivedSources.make:
3835         * DerivedSources.pri:
3836         * GNUmakefile.list.am:
3837         * Target.pri:
3838         * WebCore.gypi:
3839         * WebCore.xcodeproj/project.pbxproj:
3840         * dom/DOMAllInOne.cpp:
3841         * dom/Event.cpp:
3842         (WebCore::Event::isFocusEvent):
3843         (WebCore):
3844         * dom/Event.h:
3845         (Event):
3846         * dom/EventContext.cpp:
3847         (WebCore::EventContext::handleLocalEvents):
3848         * dom/EventNames.in:
3849         * dom/FocusEvent.h: Added.
3850         (WebCore):
3851         (FocusEvent):
3852         (WebCore::FocusEvent::create):
3853         (WebCore::FocusEvent::relatedTarget):
3854         (WebCore::FocusEvent::setRelatedTarget):
3855         (WebCore::toFocusEvent):
3856         * dom/FocusEvent.idl: Added.
3857         * dom/Node.cpp:
3858         (WebCore::Node::dispatchFocusInEvent):
3859         (WebCore::Node::dispatchFocusOutEvent):
3860
3861 2013-02-06  Kent Tamura  <tkent@chromium.org>
3862
3863         Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h
3864         https://bugs.webkit.org/show_bug.cgi?id=109137
3865
3866         Reviewed by Kentaro Hara.
3867
3868         No new tests. Just style fix.
3869
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):
3880         (ThemeData):
3881         (RenderThemeChromiumWin):
3882         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
3883         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
3884
3885 2013-02-06  Kent Tamura  <tkent@chromium.org>
3886
3887         Fix style of Chrome.h and Page.h
3888         https://bugs.webkit.org/show_bug.cgi?id=109138
3889
3890         Reviewed by Ryosuke Niwa.
3891
3892         No new tests. Just style fixes.
3893
3894         * page/Chrome.h:
3895         (WebCore):
3896         (Chrome):
3897         (WebCore::Chrome::client):
3898         * page/Page.h:
3899         (JSC):
3900         (WebCore):
3901         (WebCore::ArenaSize::ArenaSize):
3902         (ArenaSize):
3903         (Page):
3904         (PageClients):
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):
3953
3954 2013-02-06  Mike West  <mkwst@chromium.org>
3955
3956         Entity-header extension headers honored on 304 responses.
3957         https://bugs.webkit.org/show_bug.cgi?id=72414
3958
3959         Reviewed by Alexey Proskuryakov.
3960
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.
3966
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.
3971
3972         The tests verify that those headers with visible effect are correctly
3973         handled: 'x-frame-options', 'content-security-policy', and
3974         'x-xss-protection'.
3975
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
3979
3980         * loader/cache/CachedResource.cpp:
3981         (WebCore):
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.
3988
3989         * loader/cache/CachedResource.cpp:
3990         (WebCore):
3991         (WebCore::shouldUpdateHeaderAfterRevalidation):
3992         (WebCore::CachedResource::updateResponseAfterRevalidation):
3993
3994 2013-02-06  Tom Sepez  <tsepez@chromium.org>
3995
3996         document.referrer leakage with XSS Auditor page block
3997         https://bugs.webkit.org/show_bug.cgi?id=109089
3998
3999         Reviewed by Adam Barth.
4000
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
4003         request.
4004         
4005         * html/parser/XSSAuditorDelegate.cpp:
4006         (WebCore::XSSAuditorDelegate::didBlockScript):
4007
4008 2013-02-06  Kentaro Hara  <haraken@chromium.org>
4009
4010         [V8] Make an Isolate parameter mandatory in GetTemplate() and GetRawTemplate()
4011         https://bugs.webkit.org/show_bug.cgi?id=109026
4012
4013         Reviewed by Adam Barth.
4014
4015         Now it's time to kill an optional Isolate parameter.
4016
4017         No tests. No change in behavior.
4018
4019         * bindings/scripts/CodeGeneratorV8.pm:
4020         (GenerateHeader):
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:
4027         (V8Float64Array):
4028         (WebCore::V8Float64Array::installPerContextPrototypeProperties):
4029         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: