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