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