c53c41dc229d78f9fa8295c79b61dde9cb3355e0
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-19  Tim Horton  <timothy_horton@apple.com>
2
3         WebKit should not decode or support PDF favicons
4         https://bugs.webkit.org/show_bug.cgi?id=114650
5         <rdar://problem/10133914>
6
7         Reviewed by Dan Bernstein.
8
9         Drop the image data on the floor if it begins with the PDF magic number.
10         No other browser I can find on OS X supports PDF favicons (by experimentation),
11         and we do not properly display them.
12
13         * loader/icon/IconLoader.cpp:
14         (WebCore::IconLoader::notifyFinished):
15
16 2013-04-19  Martin Robinson  <mrobinson@igalia.com>
17
18         Remove the OpenVG backend
19         https://bugs.webkit.org/show_bug.cgi?id=114881
20
21         Reviewed by Tim Horton.
22
23         * platform/graphics/FloatRect.h:
24         (FloatRect): Remove #ifdefs for OpenVG backend.
25         * platform/graphics/GraphicsContext.cpp:
26         (WebCore): Ditto.
27         * platform/graphics/GraphicsContext.h:
28         * platform/graphics/NativeImagePtr.h:
29         (WebCore): Ditto.
30         * platform/graphics/Path.cpp:
31         (WebCore): Ditto.
32         * platform/graphics/Path.h:
33         * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Removed.
34         * platform/graphics/openvg/EGLDisplayOpenVG.h: Removed.
35         * platform/graphics/openvg/EGLUtils.h: Removed.
36         * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Removed.
37         * platform/graphics/openvg/ImageOpenVG.cpp: Removed.
38         * platform/graphics/openvg/PainterOpenVG.cpp: Removed.
39         * platform/graphics/openvg/PainterOpenVG.h: Removed.
40         * platform/graphics/openvg/PathOpenVG.cpp: Removed.
41         * platform/graphics/openvg/PlatformPathOpenVG.h: Removed.
42         * platform/graphics/openvg/SharedResourceOpenVG.cpp: Removed.
43         * platform/graphics/openvg/SharedResourceOpenVG.h: Removed.
44         * platform/graphics/openvg/SurfaceOpenVG.cpp: Removed.
45         * platform/graphics/openvg/SurfaceOpenVG.h: Removed.
46         * platform/graphics/openvg/TiledImageOpenVG.cpp: Removed.
47         * platform/graphics/openvg/TiledImageOpenVG.h: Removed.
48         * platform/graphics/openvg/VGUtils.cpp: Removed.
49         * platform/graphics/openvg/VGUtils.h: Removed.
50         * platform/graphics/transforms/AffineTransform.h:
51         (AffineTransform): Ditto.
52         * platform/graphics/transforms/TransformationMatrix.h:
53         (TransformationMatrix): Ditto.
54         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Removed.
55
56 2013-04-19  Andrei Bucur  <abucur@adobe.com>
57
58         ContainerNode::removeChildren should first detach the children then remove them
59         https://bugs.webkit.org/show_bug.cgi?id=113433
60
61         Reviewed by Ryosuke Niwa.
62
63         Currently, ContainerNode::removeChildren initially removes the nodes from the DOM tree and then
64         calls detach() on each of them. This is anti-intuitive and can lead to subtle bugs because the
65         detached renderers are not backed by a valid DOM tree any more. With the patch, the nodes are first
66         detached and then removed from the DOM.
67         The patch also lets the tree in a consistent state after each node removal by clearing the previous
68         sibling pointer of the node following the one removed.
69         I haven't found any proof the performance will get worse if the detachment happens when the children
70         are still in the DOM tree.
71
72         Tests: No changed visible functionality.
73
74         * dom/ContainerNode.cpp:
75         (WebCore::ContainerNode::removeChildren):
76
77 2013-04-19  Dirk Schulze  <krit@webkit.org>
78
79         Refactor transform code in StyleResolver
80         https://bugs.webkit.org/show_bug.cgi?id=114874
81
82         Reviewed by Andreas Kling.
83
84         Move transform code frome StyleResolver into own files.
85
86         Refactoring, no changes in functionality.
87
88         * CMakeLists.txt:
89         * GNUmakefile.list.am:
90         * Target.pri:
91         * WebCore.vcproj/WebCore.vcproj:
92         * WebCore.vcxproj/WebCore.vcxproj:
93         * WebCore.vcxproj/WebCore.vcxproj.filters:
94         * WebCore.xcodeproj/project.pbxproj:
95         * css/StyleResolver.cpp:
96         (WebCore::StyleResolver::applyProperty):
97         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
98         * css/StyleResolver.h:
99         * css/TransformFunctions.cpp: Added.
100         (WebCore):
101         (WebCore::transformOperationType):
102         (WebCore::convertToFloatLength):
103         (WebCore::transformsForValue):
104         * css/TransformFunctions.h: Added.
105         (WebCore):
106         * css/WebKitCSSMatrix.cpp:
107         (WebCore::WebKitCSSMatrix::setMatrixValue):
108
109 2013-04-19  Erik Arvidsson  <arv@chromium.org>
110
111         Rename TextTrackList owner to element for consistency
112         https://bugs.webkit.org/show_bug.cgi?id=79822
113
114         Reviewed by Eric Carlson.
115
116         No new tests. Covered by existing tests.
117
118         * bindings/js/JSTextTrackListCustom.cpp:
119         (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
120         (WebCore::JSTextTrackList::visitChildren):
121         * html/HTMLMediaElement.cpp:
122         (WebCore::HTMLMediaElement::~HTMLMediaElement):
123         * html/track/TextTrackList.cpp:
124         (TextTrackList::append):
125         (TextTrackList::remove):
126         * html/track/TextTrackList.h:
127         (WebCore::TextTrackList::create):
128         * html/track/TrackListBase.cpp:
129         (TrackListBase::TrackListBase):
130         (TrackListBase::remove):
131         * html/track/TrackListBase.h:
132         (WebCore::TrackListBase::clearElement):
133         (WebCore::TrackListBase::element):
134         (TrackListBase):
135
136 2013-04-19  Andreas Kling  <akling@apple.com>
137
138         [Mac] ComplexTextController is slow with large numbers of text runs.
139         <http://webkit.org/b/114875>
140         <rdar://problem/13337036>
141
142         Reviewed by Dan Bernstein.
143
144         Instead of iterating over the text runs in indexOfCurrentRun() to figure out the leftmost glyph,
145         create a lookup table of [run# -> distance in glyphs] at ComplexTextController construction time.
146
147         This avoids O(n^2) behavior in indexOfCurrentRun().
148
149         * platform/graphics/mac/ComplexTextController.cpp:
150         (WebCore::ComplexTextController::ComplexTextController):
151         (WebCore::ComplexTextController::indexOfCurrentRun):
152         * platform/graphics/mac/ComplexTextController.h:
153         (ComplexTextController):
154
155 2013-04-19  Mario Sanchez Prada  <mario.prada@samsung.com>
156
157         [GTK] Minimize calls to GailTextUtil in AtkText implementation
158         https://bugs.webkit.org/show_bug.cgi?id=114868
159
160         Reviewed by Martin Robinson.
161
162         Create a new helper function to concentrate inside of it the calls to
163         gail_text_util_get_text(), so we can get rid of it later more easily.
164
165         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
166         (webkitAccessibleTextGetTextForOffset): New helper function.
167         (webkitAccessibleTextGetTextAfterOffset): Rely on the new function.
168         (webkitAccessibleTextGetTextAtOffset): Ditto.
169         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
170
171 2013-04-19  Noam Rosenthal  <noam@webkit.org>
172
173         [Texmap] Implementation for pattern compositing
174         https://bugs.webkit.org/show_bug.cgi?id=109588
175
176         Reviewed by Allan Sandfeld Jensen.
177
178         Enable pattern compositing (background images) for CoordinatedGraphics/TextureMapperGL.
179         Use the existing patternTransform shader uniform, multiplying it by a matrix calculated
180         using the contentsRect, tileSize and tilePhase.
181
182         Covered by existing tests in compositing/patterns.
183
184         * platform/graphics/GraphicsLayer.h:
185         (GraphicsLayer):
186             Conditionally enable pattern compositing for coordinated graphics.
187
188         * platform/graphics/texmap/TextureMapper.cpp:
189         (WebCore::TextureMapper::TextureMapper):
190         * platform/graphics/texmap/TextureMapper.h:
191         (WebCore::TextureMapper::setPatternTransform):
192         (WebCore::TextureMapper::setWrapMode):
193         (WebCore::TextureMapper::wrapMode):
194         (WebCore::TextureMapper::patternTransform):
195             Add wrapMode and patternTransform properties to the TextureMapper state.
196
197         * platform/graphics/texmap/TextureMapperGL.cpp:
198         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
199             Paint with GL_REPEAT and a pattern transform when needed.
200
201         * platform/graphics/texmap/TextureMapperLayer.cpp:
202         (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
203         (WebCore):
204         (WebCore::TextureMapperLayer::paintSelf):
205         (WebCore::TextureMapperLayer::setContentsRect):
206         (WebCore::TextureMapperLayer::setContentsTileSize):
207         (WebCore::TextureMapperLayer::setContentsTilePhase):
208             Apply the patternTransform from the tile size/phase.
209
210         * platform/graphics/texmap/TextureMapperLayer.h:
211         (WebCore::TextureMapperLayer::TextureMapperLayer):
212         (TextureMapperLayer):
213         (WebCore::TextureMapperLayer::setShouldMapBackingStoreToContentsRect):
214         (State):
215         (WebCore::TextureMapperLayer::State::State):
216             Allow the client to configure whether a layer uses its bounds or its
217             contents rect to paint the backing store.
218             This is needed now since layers with background images, unlike layers
219             with regular images, may have bounds that are greater than the contents
220             rect.
221
222         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
223         (WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
224         (WebCore):
225         (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
226         (WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling):
227         (WebCore::GraphicsLayer::supportsContentsTiling):
228         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
229         (CoordinatedGraphicsLayer):
230         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
231         (WebCore::CoordinatedGraphicsScene::setLayerState):
232         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
233         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
234         (CoordinatedGraphicsLayerState):
235             Logic to pass the tileSize/tilePhase from CoordinatedGraphicsLayer
236             to TextureMapperLayer.
237
238         * rendering/RenderLayerBacking.cpp:
239         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
240             Don't reset the layer's image contents when this is a directly composited image.
241
242 2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>
243
244         [GTK][AC] Manage actor's children by using clutter's own way.
245         https://bugs.webkit.org/show_bug.cgi?id=114257
246
247         Reviewed by Gustavo Noronha Silva.
248
249         I believe we don't need to maintain a children list of GList. We can do it
250         by using clutter APIs like clutter_actor_get_children, clutter_actor_get_first_child, etc.
251
252         No new tests since no functionality changed.
253
254         * platform/graphics/clutter/GraphicsLayerActor.cpp:
255         (graphics_layer_actor_init):
256         (graphicsLayerActorAllocate):
257         (graphicsLayerActorPaint):
258         (graphicsLayerActorRemoveAll):
259         (graphicsLayerActorGetnChildren):
260         (graphicsLayerActorReplaceSublayer):
261         (graphicsLayerActorInsertSublayer):
262         * platform/graphics/clutter/GraphicsLayerActor.h:
263         (_GraphicsLayerActor):
264
265 2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>
266
267         [GTK][AC] Support masksToBounds for clutter AC backend.
268         https://bugs.webkit.org/show_bug.cgi?id=114113
269
270         Reviewed by Gustavo Noronha Silva.
271
272         We can support the masksToBounds property by using clutter_actor_set_clip simply.
273
274         Covered by existing AC tests.
275
276         * platform/graphics/clutter/GraphicsLayerActor.cpp:
277         (graphicsLayerActorSetMasksToBounds):
278         * platform/graphics/clutter/GraphicsLayerActor.h:
279         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
280         (WebCore::GraphicsLayerClutter::setMasksToBounds):
281         (WebCore):
282         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
283         (WebCore::GraphicsLayerClutter::setupContentsLayer):
284         (WebCore::GraphicsLayerClutter::updateMasksToBounds):
285         * platform/graphics/clutter/GraphicsLayerClutter.h:
286         (GraphicsLayerClutter):
287
288 2013-04-19  Dan Beam  <dbeam@chromium.org>
289
290         Remove unmaintained feature REQUEST_AUTOCOMPLETE
291         https://bugs.webkit.org/show_bug.cgi?id=114846
292
293         Reviewed by Kent Tamura.
294
295         * GNUmakefile.list.am: Remove AutocompleteErrorEvent.h include.
296         * bindings/generic/RuntimeEnabledFeatures.cpp:
297         (WebCore): Remove requestAutocomplete() runtime feature.
298         * bindings/generic/RuntimeEnabledFeatures.h:
299         (RuntimeEnabledFeatures): Remove requestAutocomplete() runtime feature.
300         * dom/AutocompleteErrorEvent.h: Removed.
301         * dom/AutocompleteErrorEvent.idl: Removed.
302         * dom/EventNames.h: Remove `autocomplete` and `autocompleteerror` event names.
303         (WebCore):
304         * dom/EventNames.in: Remove `autocomplete` and `autocompleteerror` event names.
305         * html/HTMLAttributeNames.in: Remove `onautocomplete` and `onautocompleteerror` form attributes.
306         * html/HTMLFormElement.cpp: Remove requestAutocomplete() related code.
307         (WebCore::HTMLFormElement::HTMLFormElement): Remove timer and event queue for requestAutocomplete() related events.
308         (WebCore::HTMLFormElement::parseAttribute): Remove parsing of `onautocomplete` and `onautocompleterror`.
309         * html/HTMLFormElement.h: Remove requestAutocomplete() related members.
310         (HTMLFormElement):
311         * html/HTMLFormElement.idl: Remove public requestAutocomplete() API method.
312         * loader/EmptyClients.cpp: Remove stub implementation.
313         (WebCore):
314         * loader/EmptyClients.h: Remove stub interface.
315         (EmptyFrameLoaderClient):
316         * loader/FrameLoaderClient.h: Remove didRequestAutocomplete() from interface.
317         (FrameLoaderClient):
318         * page/DOMWindow.idl: Remove `AutocompleteErrorEvent` from window DOM interface.
319
320 2013-04-18  Timothy Hatcher  <timothy@apple.com>
321
322         Add CSS.setStyleText to the Web Inspector protocol.
323
324         This provides a direct path for the Safari Web Inspector to live edit whole style rules.
325
326         https://webkit.org/b/109340
327         rdar://problem/13337211
328
329         Reviewed by Joseph Pecoraro.
330
331         * inspector/Inspector.json:
332         (CSS.setStyleText): Added.
333         * inspector/InspectorCSSAgent.cpp:
334         (InspectorCSSAgent::SetStyleTextAction):
335         (WebCore::InspectorCSSAgent::SetStyleTextAction::SetStyleTextAction): Added.
336         (WebCore::InspectorCSSAgent::SetStyleTextAction::perform): Added.
337         (WebCore::InspectorCSSAgent::SetStyleTextAction::undo): Added.
338         (WebCore::InspectorCSSAgent::SetStyleTextAction::redo): Added.
339         (WebCore::InspectorCSSAgent::SetStyleTextAction::mergeId): Added.
340         (WebCore::InspectorCSSAgent::SetStyleTextAction::merge): Added.
341         (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
342         (WebCore::InspectorCSSAgent::setStyleText): Added.
343         * inspector/InspectorCSSAgent.h:
344         * inspector/InspectorStyleSheet.cpp:
345         (WebCore::InspectorStyle::getText): Added.
346         (WebCore::InspectorStyle::setText): Added.
347         (WebCore::InspectorStyleSheet::setStyleText):
348         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
349         * inspector/InspectorStyleSheet.h:
350         (WebCore::InspectorStyle::styleText): Added as an alias to getText.
351         (WebCore::InspectorStyle::applyStyleText): Added as an alias to setText.
352
353 2013-04-18  Jer Noble  <jer.noble@apple.com>
354
355         Unreviewed gardening; fix bindings tests after r148700.
356
357         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
358         (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
359
360 2013-04-18  Andy Estes  <aestes@apple.com>
361
362         REGRESSION (r116645): Versions app's UI is munged in HiDPI due to background-size being reset to 'auto' when background short-hand is also specified
363         https://bugs.webkit.org/show_bug.cgi?id=114833
364
365         Reviewed by David Kilzer.
366
367         Added applicationIsVersions() to RuntimeApplicationChecks.
368
369         * WebCore.exp.in:
370         * platform/RuntimeApplicationChecks.cpp:
371         (WebCore::applicationIsVersions):
372         (WebCore):
373         * platform/RuntimeApplicationChecks.h:
374         (WebCore):
375
376 2013-04-18  Sam Weinig  <sam@webkit.org>
377
378         Network Process crashing trying to read in IDNScriptWhiteList.txt
379         https://bugs.webkit.org/show_bug.cgi?id=114827
380
381         Reviewed by Anders Carlsson.
382
383         Move IDNScriptWhiteList.txt from WebKit to WebCore, so that the NetworkProcess does not have to link against
384         WebKit. It was a layering violation for WebCore to be trying to access WebKit resources anyway.
385
386         * Resources/IDNScriptWhiteList.txt: Copied from Source/WebKit/mac/Resources/IDNScriptWhiteList.txt.
387         * WebCore.xcodeproj/project.pbxproj:
388         * platform/mac/WebCoreNSURLExtras.mm:
389         (WebCore::readIDNScriptWhiteList):
390
391 2013-04-18  Simon Fraser  <simon.fraser@apple.com>
392
393         Remove GraphicsLayerCA::constrainedSize() now that we can manage large layer memory use ourselves in TileController
394         https://bugs.webkit.org/show_bug.cgi?id=114834
395
396         Reviewed by Tim Horton.
397
398         GraphicsLayerCA::constrainedSize() was added to handle poor CATiledLayer behavior when layer sizes
399         got extremely large. Now that we no longer use CATiledLayer, remove this code. We can later add
400         tile memory bounding to TileController if that becomes necessary.
401
402         * platform/graphics/ca/GraphicsLayerCA.cpp:
403         (WebCore::GraphicsLayerCA::updateGeometry):
404         * platform/graphics/ca/GraphicsLayerCA.h:
405         (GraphicsLayerCA):
406
407 2013-04-18  Alberto Garcia  <agarcia@igalia.com>
408
409         Remove obsolete macros from libpng
410         https://bugs.webkit.org/show_bug.cgi?id=114817
411
412         Reviewed by Benjamin Poulain.
413
414         libpng 1.4 removes the png_voidp_NULL and png_error_ptr_NULL
415         macros. Null pointers must be used directly instead.
416
417         * platform/image-encoders/PNGImageEncoder.cpp:
418         (WebCore::compressRGBABigEndianToPNG):
419
420 2013-04-18  Jer Noble  <jer.noble@apple.com>
421
422         CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
423         https://bugs.webkit.org/show_bug.cgi?id=114784
424
425         Reviewed by Geoffrey Garen.
426
427         EventTarget subclasses shouldn't have to use CustomIsReachable directives
428         in order to keep their wrappers alive while firing event listeners.
429
430         * bindings/scripts/CodeGeneratorJS.pm:
431         (GenerateImplementation):
432
433 2013-04-17  Geoffrey Garen  <ggaren@apple.com>
434
435         Renamed JSGlobalData to VM
436         https://bugs.webkit.org/show_bug.cgi?id=114777
437
438         Reviewed by Phil Pizlo.
439
440         * ForwardingHeaders/runtime/JSGlobalData.h: Removed.
441         * ForwardingHeaders/runtime/VM.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalData.h.
442         * WebCore.exp.in:
443         * WebCore.order:
444         * WebCore.vcxproj/WebCore.vcxproj:
445         * WebCore.vcxproj/WebCore.vcxproj.filters:
446         * bindings/js/DOMObjectHashTableMap.cpp:
447         (WebCore::DOMObjectHashTableMap::mapFor):
448         * bindings/js/DOMObjectHashTableMap.h:
449         (JSC):
450         (DOMObjectHashTableMap):
451         * bindings/js/DOMWrapperWorld.cpp:
452         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
453         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
454         (WebCore::normalWorld):
455         (WebCore::mainThreadNormalWorld):
456         * bindings/js/DOMWrapperWorld.h:
457         (WebCore::DOMWrapperWorld::create):
458         (WebCore::DOMWrapperWorld::vm):
459         (DOMWrapperWorld):
460         (WebCore):
461         * bindings/js/GCController.cpp:
462         (WebCore::collect):
463         (WebCore::GCController::garbageCollectSoon):
464         (WebCore::GCController::garbageCollectNow):
465         (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
466         (WebCore::GCController::discardAllCompiledCode):
467         * bindings/js/IDBBindingUtilities.cpp:
468         (WebCore::get):
469         (WebCore::set):
470         (WebCore::deserializeIDBValue):
471         (WebCore::deserializeIDBValueBuffer):
472         (WebCore::idbKeyToScriptValue):
473         * bindings/js/JSCallbackData.h:
474         (WebCore::JSCallbackData::JSCallbackData):
475         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
476         (WebCore::JSSQLStatementErrorCallback::handleEvent):
477         * bindings/js/JSCustomXPathNSResolver.cpp:
478         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
479         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
480         * bindings/js/JSDOMBinding.cpp:
481         (WebCore::getHashTableForGlobalData):
482         (WebCore::reportException):
483         (WebCore::cacheDOMStructure):
484         * bindings/js/JSDOMBinding.h:
485         (WebCore::DOMConstructorObject::createStructure):
486         (WebCore::DOMConstructorWithDocument::finishCreation):
487         (WebCore::getDOMStructure):
488         (WebCore::setInlineCachedWrapper):
489         (WebCore):
490         (WebCore::jsStringWithCache):
491         * bindings/js/JSDOMGlobalObject.cpp:
492         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
493         (WebCore::JSDOMGlobalObject::finishCreation):
494         * bindings/js/JSDOMGlobalObject.h:
495         (JSDOMGlobalObject):
496         (WebCore::JSDOMGlobalObject::createStructure):
497         (WebCore::getDOMConstructor):
498         * bindings/js/JSDOMWindowBase.cpp:
499         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
500         (WebCore::JSDOMWindowBase::finishCreation):
501         (WebCore::JSDOMWindowBase::updateDocument):
502         (WebCore::JSDOMWindowBase::commonVM):
503         * bindings/js/JSDOMWindowBase.h:
504         (JSDOMWindowBase):
505         (WebCore::JSDOMWindowBase::createStructure):
506         * bindings/js/JSDOMWindowCustom.cpp:
507         (WebCore::JSDOMWindow::setLocation):
508         (WebCore::DialogHandler::dialogCreated):
509         (WebCore::DialogHandler::returnValue):
510         * bindings/js/JSDOMWindowShell.cpp:
511         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
512         (WebCore::JSDOMWindowShell::finishCreation):
513         (WebCore::JSDOMWindowShell::setWindow):
514         * bindings/js/JSDOMWindowShell.h:
515         (JSDOMWindowShell):
516         (WebCore::JSDOMWindowShell::create):
517         (WebCore::JSDOMWindowShell::createStructure):
518         * bindings/js/JSDOMWrapper.h:
519         (WebCore::JSDOMWrapper::JSDOMWrapper):
520         * bindings/js/JSDeviceMotionEventCustom.cpp:
521         (WebCore::createAccelerationObject):
522         (WebCore::createRotationRateObject):
523         * bindings/js/JSDictionary.cpp:
524         (WebCore::JSDictionary::convertValue):
525         * bindings/js/JSDictionary.h:
526         (WebCore::JSDictionary::JSDictionary):
527         * bindings/js/JSErrorHandler.cpp:
528         (WebCore::JSErrorHandler::handleEvent):
529         * bindings/js/JSEventListener.cpp:
530         (WebCore::JSEventListener::handleEvent):
531         * bindings/js/JSEventListener.h:
532         (WebCore::JSEventListener::setWrapper):
533         (WebCore::JSEventListener::jsFunction):
534         * bindings/js/JSHTMLDocumentCustom.cpp:
535         (WebCore::JSHTMLDocument::all):
536         (WebCore::JSHTMLDocument::setAll):
537         * bindings/js/JSHTMLTemplateElementCustom.cpp:
538         (WebCore::JSHTMLTemplateElement::content):
539         * bindings/js/JSHistoryCustom.cpp:
540         (WebCore::JSHistory::state):
541         * bindings/js/JSImageConstructor.cpp:
542         (WebCore::JSImageConstructor::finishCreation):
543         * bindings/js/JSImageConstructor.h:
544         (WebCore::JSImageConstructor::createStructure):
545         * bindings/js/JSImageDataCustom.cpp:
546         (WebCore::toJS):
547         * bindings/js/JSInjectedScriptHostCustom.cpp:
548         (WebCore::InjectedScriptHost::nodeAsScriptValue):
549         (WebCore::JSInjectedScriptHost::functionDetails):
550         (WebCore::getJSListenerFunctions):
551         (WebCore::JSInjectedScriptHost::getEventListeners):
552         (WebCore::JSInjectedScriptHost::inspect):
553         * bindings/js/JSLazyEventListener.cpp:
554         (WebCore::JSLazyEventListener::initializeJSFunction):
555         * bindings/js/JSMessageEventCustom.cpp:
556         (WebCore::JSMessageEvent::data):
557         (WebCore::handleInitMessageEvent):
558         * bindings/js/JSMutationCallback.cpp:
559         (WebCore::JSMutationCallback::call):
560         * bindings/js/JSMutationObserverCustom.cpp:
561         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
562         * bindings/js/JSNodeFilterCondition.cpp:
563         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
564         * bindings/js/JSNodeFilterCondition.h:
565         (WebCore::JSNodeFilterCondition::create):
566         (JSNodeFilterCondition):
567         * bindings/js/JSNodeFilterCustom.cpp:
568         (WebCore::toNodeFilter):
569         * bindings/js/JSPopStateEventCustom.cpp:
570         (WebCore::cacheState):
571         * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
572         (WebCore::JSRequestAnimationFrameCallback::handleEvent):
573         * bindings/js/JSSQLResultSetRowListCustom.cpp:
574         (WebCore::JSSQLResultSetRowList::item):
575         * bindings/js/JSWorkerContextBase.cpp:
576         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
577         (WebCore::JSWorkerContextBase::finishCreation):
578         * bindings/js/JSWorkerContextBase.h:
579         (WebCore::JSWorkerContextBase::createStructure):
580         (JSWorkerContextBase):
581         * bindings/js/PageScriptDebugServer.cpp:
582         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
583         * bindings/js/ScheduledAction.cpp:
584         (WebCore::ScheduledAction::ScheduledAction):
585         (WebCore::ScheduledAction::executeFunctionInContext):
586         * bindings/js/ScheduledAction.h:
587         (WebCore::ScheduledAction::ScheduledAction):
588         * bindings/js/ScriptCachedFrameData.cpp:
589         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
590         (WebCore::ScriptCachedFrameData::restore):
591         (WebCore::ScriptCachedFrameData::clear):
592         * bindings/js/ScriptCallStackFactory.cpp:
593         (WebCore::createScriptCallStack):
594         (WebCore::createScriptArguments):
595         * bindings/js/ScriptController.cpp:
596         (WebCore::ScriptController::createWindowShell):
597         (WebCore::ScriptController::evaluateInWorld):
598         (WebCore::ScriptController::createWorld):
599         (WebCore::ScriptController::getAllWorlds):
600         (WebCore::ScriptController::clearWindowShell):
601         (WebCore::ScriptController::initScript):
602         (WebCore::ScriptController::updateDocument):
603         (WebCore::ScriptController::cacheableBindingRootObject):
604         (WebCore::ScriptController::bindingRootObject):
605         (WebCore::ScriptController::clearScriptObjects):
606         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
607         * bindings/js/ScriptControllerMac.mm:
608         (WebCore::ScriptController::windowScriptObject):
609         * bindings/js/ScriptDebugServer.cpp:
610         (WebCore::ScriptDebugServer::dispatchDidPause):
611         * bindings/js/ScriptEventListener.cpp:
612         (WebCore::eventListenerHandlerBody):
613         (WebCore::eventListenerHandler):
614         (WebCore::eventListenerHandlerLocation):
615         * bindings/js/ScriptFunctionCall.cpp:
616         (WebCore::ScriptFunctionCall::call):
617         (WebCore::ScriptCallback::call):
618         * bindings/js/ScriptGCEvent.cpp:
619         (WebCore::ScriptGCEvent::getHeapSize):
620         * bindings/js/ScriptObject.cpp:
621         (WebCore::ScriptObject::ScriptObject):
622         (WebCore::ScriptGlobalObject::set):
623         * bindings/js/ScriptState.h:
624         (WebCore):
625         * bindings/js/ScriptValue.cpp:
626         (WebCore::ScriptValue::deserialize):
627         * bindings/js/ScriptValue.h:
628         (WebCore::ScriptValue::ScriptValue):
629         * bindings/js/ScriptWrappable.h:
630         (JSC):
631         (ScriptWrappable):
632         * bindings/js/ScriptWrappableInlines.h:
633         (WebCore::ScriptWrappable::setWrapper):
634         * bindings/js/SerializedScriptValue.cpp:
635         (WebCore::CloneDeserializer::readTerminal):
636         (WebCore::SerializedScriptValue::deserializeForInspector):
637         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
638         * bindings/js/WebCoreJSClientData.h:
639         (WebCoreJSClientData):
640         (WebCore::initNormalWorldClientData):
641         * bindings/js/WorkerScriptController.cpp:
642         (WebCore::WorkerScriptController::WorkerScriptController):
643         (WebCore::WorkerScriptController::~WorkerScriptController):
644         (WebCore::WorkerScriptController::initScript):
645         (WebCore::WorkerScriptController::evaluate):
646         (WebCore::WorkerScriptController::scheduleExecutionTermination):
647         (WebCore::WorkerScriptController::isExecutionTerminating):
648         (WebCore::WorkerScriptController::disableEval):
649         * bindings/js/WorkerScriptController.h:
650         (JSC):
651         (WebCore::WorkerScriptController::vm):
652         (WorkerScriptController):
653         * bindings/js/WorkerScriptDebugServer.cpp:
654         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
655         * bindings/objc/WebScriptObject.mm:
656         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
657         * bindings/scripts/CodeGeneratorJS.pm:
658         (GenerateHeader):
659         (GenerateImplementation):
660         (GenerateCallbackImplementation):
661         (JSValueToNative):
662         (GenerateConstructorDeclaration):
663         (GenerateConstructorHelperMethods):
664         * bindings/scripts/test/JS/JSFloat64Array.cpp:
665         (WebCore::getJSFloat64ArrayConstructorTable):
666         (WebCore::JSFloat64ArrayConstructor::finishCreation):
667         (WebCore::getJSFloat64ArrayPrototypeTable):
668         (WebCore::getJSFloat64ArrayTable):
669         (WebCore::JSFloat64Array::finishCreation):
670         (WebCore::JSFloat64Array::createPrototype):
671         * bindings/scripts/test/JS/JSFloat64Array.h:
672         (WebCore::JSFloat64Array::create):
673         (WebCore::JSFloat64Array::createStructure):
674         (JSFloat64Array):
675         (WebCore::JSFloat64ArrayPrototype::create):
676         (WebCore::JSFloat64ArrayPrototype::createStructure):
677         (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
678         (WebCore::JSFloat64ArrayConstructor::createStructure):
679         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
680         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
681         (WebCore::JSTestActiveDOMObject::finishCreation):
682         (WebCore::JSTestActiveDOMObject::createPrototype):
683         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
684         (WebCore::JSTestActiveDOMObject::create):
685         (WebCore::JSTestActiveDOMObject::createStructure):
686         (JSTestActiveDOMObject):
687         (WebCore::JSTestActiveDOMObjectPrototype::create):
688         (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
689         (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
690         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
691         * bindings/scripts/test/JS/JSTestCallback.cpp:
692         (WebCore::JSTestCallback::callbackWithNoParam):
693         (WebCore::JSTestCallback::callbackWithClass1Param):
694         (WebCore::JSTestCallback::callbackWithClass2Param):
695         (WebCore::JSTestCallback::callbackWithStringList):
696         (WebCore::JSTestCallback::callbackWithBoolean):
697         (WebCore::JSTestCallback::callbackRequiresThisToPass):
698         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
699         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
700         (WebCore::JSTestCustomNamedGetter::finishCreation):
701         (WebCore::JSTestCustomNamedGetter::createPrototype):
702         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
703         (WebCore::JSTestCustomNamedGetter::create):
704         (WebCore::JSTestCustomNamedGetter::createStructure):
705         (JSTestCustomNamedGetter):
706         (WebCore::JSTestCustomNamedGetterPrototype::create):
707         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
708         (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
709         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
710         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
711         (WebCore::JSTestEventConstructorConstructor::finishCreation):
712         (WebCore::JSTestEventConstructor::finishCreation):
713         (WebCore::JSTestEventConstructor::createPrototype):
714         * bindings/scripts/test/JS/JSTestEventConstructor.h:
715         (WebCore::JSTestEventConstructor::create):
716         (WebCore::JSTestEventConstructor::createStructure):
717         (JSTestEventConstructor):
718         (WebCore::JSTestEventConstructorPrototype::create):
719         (WebCore::JSTestEventConstructorPrototype::createStructure):
720         (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
721         (WebCore::JSTestEventConstructorConstructor::createStructure):
722         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
723         (WebCore::JSTestEventTargetConstructor::finishCreation):
724         (WebCore::JSTestEventTarget::finishCreation):
725         (WebCore::JSTestEventTarget::createPrototype):
726         * bindings/scripts/test/JS/JSTestEventTarget.h:
727         (WebCore::JSTestEventTarget::create):
728         (WebCore::JSTestEventTarget::createStructure):
729         (JSTestEventTarget):
730         (WebCore::JSTestEventTargetPrototype::create):
731         (WebCore::JSTestEventTargetPrototype::createStructure):
732         (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
733         (WebCore::JSTestEventTargetConstructor::createStructure):
734         * bindings/scripts/test/JS/JSTestException.cpp:
735         (WebCore::JSTestExceptionConstructor::finishCreation):
736         (WebCore::JSTestException::finishCreation):
737         (WebCore::JSTestException::createPrototype):
738         * bindings/scripts/test/JS/JSTestException.h:
739         (WebCore::JSTestException::create):
740         (WebCore::JSTestException::createStructure):
741         (JSTestException):
742         (WebCore::JSTestExceptionPrototype::create):
743         (WebCore::JSTestExceptionPrototype::createStructure):
744         (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
745         (WebCore::JSTestExceptionConstructor::createStructure):
746         * bindings/scripts/test/JS/JSTestInterface.cpp:
747         (WebCore::JSTestInterfaceConstructor::finishCreation):
748         (WebCore::JSTestInterface::finishCreation):
749         (WebCore::JSTestInterface::createPrototype):
750         * bindings/scripts/test/JS/JSTestInterface.h:
751         (WebCore::JSTestInterface::create):
752         (WebCore::JSTestInterface::createStructure):
753         (JSTestInterface):
754         (WebCore::JSTestInterfacePrototype::create):
755         (WebCore::JSTestInterfacePrototype::createStructure):
756         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
757         (WebCore::JSTestInterfaceConstructor::createStructure):
758         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
759         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
760         (WebCore::JSTestMediaQueryListListener::finishCreation):
761         (WebCore::JSTestMediaQueryListListener::createPrototype):
762         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
763         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
764         (WebCore::JSTestMediaQueryListListener::create):
765         (WebCore::JSTestMediaQueryListListener::createStructure):
766         (JSTestMediaQueryListListener):
767         (WebCore::JSTestMediaQueryListListenerPrototype::create):
768         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
769         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
770         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
771         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
772         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
773         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
774         (WebCore::JSTestNamedConstructor::finishCreation):
775         (WebCore::JSTestNamedConstructor::createPrototype):
776         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
777         (WebCore::JSTestNamedConstructor::create):
778         (WebCore::JSTestNamedConstructor::createStructure):
779         (JSTestNamedConstructor):
780         (WebCore::JSTestNamedConstructorPrototype::create):
781         (WebCore::JSTestNamedConstructorPrototype::createStructure):
782         (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
783         (WebCore::JSTestNamedConstructorConstructor::createStructure):
784         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
785         * bindings/scripts/test/JS/JSTestNode.cpp:
786         (WebCore::JSTestNodeConstructor::finishCreation):
787         (WebCore::JSTestNode::finishCreation):
788         (WebCore::JSTestNode::createPrototype):
789         * bindings/scripts/test/JS/JSTestNode.h:
790         (WebCore::JSTestNode::create):
791         (WebCore::JSTestNode::createStructure):
792         (JSTestNode):
793         (WebCore::JSTestNodePrototype::create):
794         (WebCore::JSTestNodePrototype::createStructure):
795         (WebCore::JSTestNodePrototype::JSTestNodePrototype):
796         (WebCore::JSTestNodeConstructor::createStructure):
797         * bindings/scripts/test/JS/JSTestObj.cpp:
798         (WebCore::JSTestObjConstructor::finishCreation):
799         (WebCore::JSTestObj::finishCreation):
800         (WebCore::JSTestObj::createPrototype):
801         (WebCore::jsTestObjCachedAttribute1):
802         (WebCore::jsTestObjCachedAttribute2):
803         (WebCore::setJSTestObjConditionalAttr4Constructor):
804         (WebCore::setJSTestObjConditionalAttr5Constructor):
805         (WebCore::setJSTestObjConditionalAttr6Constructor):
806         (WebCore::setJSTestObjAnyAttribute):
807         (WebCore::setJSTestObjReplaceableAttribute):
808         * bindings/scripts/test/JS/JSTestObj.h:
809         (WebCore::JSTestObj::create):
810         (WebCore::JSTestObj::createStructure):
811         (JSTestObj):
812         (WebCore::JSTestObjPrototype::create):
813         (WebCore::JSTestObjPrototype::createStructure):
814         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
815         (WebCore::JSTestObjConstructor::createStructure):
816         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
817         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
818         (WebCore::JSTestOverloadedConstructors::finishCreation):
819         (WebCore::JSTestOverloadedConstructors::createPrototype):
820         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
821         (WebCore::JSTestOverloadedConstructors::create):
822         (WebCore::JSTestOverloadedConstructors::createStructure):
823         (JSTestOverloadedConstructors):
824         (WebCore::JSTestOverloadedConstructorsPrototype::create):
825         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
826         (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
827         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
828         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
829         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
830         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
831         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
832         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
833         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
834         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
835         (WebCore::JSTestSerializedScriptValueInterface::create):
836         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
837         (JSTestSerializedScriptValueInterface):
838         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
839         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
840         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
841         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
842         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
843         (WebCore::JSTestTypedefsConstructor::finishCreation):
844         (WebCore::JSTestTypedefs::finishCreation):
845         (WebCore::JSTestTypedefs::createPrototype):
846         * bindings/scripts/test/JS/JSTestTypedefs.h:
847         (WebCore::JSTestTypedefs::create):
848         (WebCore::JSTestTypedefs::createStructure):
849         (JSTestTypedefs):
850         (WebCore::JSTestTypedefsPrototype::create):
851         (WebCore::JSTestTypedefsPrototype::createStructure):
852         (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
853         (WebCore::JSTestTypedefsConstructor::createStructure):
854         * bridge/c/CRuntimeObject.h:
855         (JSC::Bindings::CRuntimeObject::createStructure):
856         * bridge/c/c_instance.cpp:
857         (JSC::Bindings::CRuntimeMethod::create):
858         (JSC::Bindings::CRuntimeMethod::createStructure):
859         (JSC::Bindings::CRuntimeMethod::finishCreation):
860         * bridge/jsc/BridgeJSC.cpp:
861         (JSC::Bindings::Instance::createRuntimeObject):
862         * bridge/objc/ObjCRuntimeObject.h:
863         (JSC::Bindings::ObjCRuntimeObject::createStructure):
864         * bridge/objc/objc_instance.mm:
865         (ObjCRuntimeMethod::create):
866         (ObjCRuntimeMethod::createStructure):
867         (ObjCRuntimeMethod::finishCreation):
868         * bridge/objc/objc_runtime.h:
869         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
870         * bridge/objc/objc_runtime.mm:
871         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
872         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
873         * bridge/qt/qt_instance.cpp:
874         (JSC::Bindings::QtRuntimeObject::createStructure):
875         (JSC::Bindings::QtInstance::~QtInstance):
876         (JSC::Bindings::QtInstance::getQtInstance):
877         * bridge/runtime_array.cpp:
878         (JSC::RuntimeArray::RuntimeArray):
879         (JSC::RuntimeArray::finishCreation):
880         * bridge/runtime_array.h:
881         (JSC::RuntimeArray::create):
882         (JSC::RuntimeArray::createStructure):
883         (RuntimeArray):
884         * bridge/runtime_method.cpp:
885         (JSC::RuntimeMethod::finishCreation):
886         * bridge/runtime_method.h:
887         (JSC::RuntimeMethod::create):
888         (JSC::RuntimeMethod::createStructure):
889         (RuntimeMethod):
890         * bridge/runtime_object.cpp:
891         (JSC::Bindings::RuntimeObject::RuntimeObject):
892         (JSC::Bindings::RuntimeObject::finishCreation):
893         * bridge/runtime_object.h:
894         (JSC::Bindings::RuntimeObject::createStructure):
895         * bridge/runtime_root.cpp:
896         (JSC::Bindings::RootObject::RootObject):
897         (JSC::Bindings::RootObject::gcProtect):
898         (JSC::Bindings::RootObject::gcUnprotect):
899         (JSC::Bindings::RootObject::updateGlobalObject):
900         (JSC::Bindings::RootObject::addRuntimeObject):
901         * bridge/runtime_root.h:
902         (RootObject):
903         * dom/Node.cpp:
904         * dom/Node.h:
905         (JSC):
906         * dom/ScriptExecutionContext.cpp:
907         (WebCore::ScriptExecutionContext::vm):
908         * dom/ScriptExecutionContext.h:
909         (JSC):
910         (ScriptExecutionContext):
911         * html/HTMLCanvasElement.cpp:
912         (WebCore::HTMLCanvasElement::createImageBuffer):
913         * html/HTMLImageLoader.cpp:
914         (WebCore::HTMLImageLoader::notifyFinished):
915         * inspector/ScriptArguments.cpp:
916         (WebCore::ScriptArguments::ScriptArguments):
917         * loader/icon/IconDatabaseBase.cpp:
918         (WebCore):
919         (WebCore::iconDatabase):
920         (WebCore::setGlobalIconDatabase):
921         * platform/qt/MemoryUsageSupportQt.cpp:
922         (WebCore::memoryUsageKB):
923         (WebCore::actualMemoryUsageKB):
924         * platform/win/ClipboardUtilitiesWin.cpp:
925         (WebCore::createGlobalData):
926         * plugins/PluginView.cpp:
927         (WebCore::PluginView::start):
928         (WebCore::PluginView::stop):
929         (WebCore::PluginView::performRequest):
930         (WebCore::PluginView::npObject):
931         (WebCore::PluginView::privateBrowsingStateChanged):
932         * plugins/blackberry/PluginViewBlackBerry.cpp:
933         (WebCore::PluginView::dispatchNPEvent):
934         (WebCore::PluginView::setNPWindowIfNeeded):
935         (WebCore::PluginView::platformStart):
936         (WebCore::PluginView::getWindowInfo):
937         * plugins/efl/PluginViewEfl.cpp:
938         (WebCore::PluginView::dispatchNPEvent):
939         * plugins/gtk/PluginViewGtk.cpp:
940         (WebCore::PluginView::dispatchNPEvent):
941         (WebCore::PluginView::handleKeyboardEvent):
942         (WebCore::PluginView::handleMouseEvent):
943         (WebCore::PluginView::setNPWindowIfNeeded):
944         (WebCore::PluginView::platformStart):
945         * plugins/mac/PluginViewMac.mm:
946         (WebCore::PluginView::platformStart):
947         * plugins/qt/PluginViewQt.cpp:
948         (WebCore::PluginView::dispatchNPEvent):
949         (WebCore::PluginView::setNPWindowIfNeeded):
950         * plugins/win/PluginViewWin.cpp:
951         (WebCore::PluginView::dispatchNPEvent):
952         (WebCore::PluginView::handleKeyboardEvent):
953         (WebCore::PluginView::handleMouseEvent):
954         (WebCore::PluginView::setNPWindowRect):
955         * testing/js/WebCoreTestSupport.cpp:
956         (WebCoreTestSupport::injectInternalsObject):
957         * xml/XMLHttpRequest.cpp:
958         (WebCore::XMLHttpRequest::dropProtection):
959
960 2013-04-18  Oliver Hunt  <oliver@apple.com>
961
962         Fix windows build by moving template definition to JSDOMBinding.h
963
964         * bindings/js/JSDOMBinding.h:
965         (WebCore):
966         * bindings/scripts/CodeGeneratorJS.pm:
967         (GenerateImplementation):
968         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
969         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
970         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
971         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
972         * bindings/scripts/test/JS/JSTestException.cpp:
973         * bindings/scripts/test/JS/JSTestInterface.cpp:
974         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
975         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
976         * bindings/scripts/test/JS/JSTestObj.cpp:
977         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
978         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
979         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
980
981 2013-04-18  Eric Carlson  <eric.carlson@apple.com>
982
983         Forced subtitles never rendered
984         https://bugs.webkit.org/show_bug.cgi?id=114818
985
986         Reviewed by Jer Noble.
987
988         No new tests, media/track/track-forced-subtitles-in-band.html was updated to test this change.
989
990         * html/track/TextTrack.cpp:
991         (WebCore::TextTrack::isRendered): "forced" tracks are rendered.
992
993 2013-04-17  Anders Carlsson  <andersca@apple.com>
994
995         Change storage factory functions to take a PageGroup and Page respectively
996         https://bugs.webkit.org/show_bug.cgi?id=114776
997
998         Reviewed by Beth Dakin.
999
1000         Change StorageNamespace::localStorageNamespace to take a PageGroup since WebKit2 needs
1001         to know which local storage namespace belongs to which page group. Also remove the quota parameter from
1002         the sessionStorageNamespace function since that's trivial to get from the Page.
1003
1004         * WebCore.exp.in:
1005         * page/Page.cpp:
1006         (WebCore::Page::sessionStorage):
1007         * page/PageGroup.cpp:
1008         (WebCore::PageGroup::localStorage):
1009         * storage/StorageNamespace.cpp:
1010         (WebCore::StorageNamespace::localStorageNamespace):
1011         (WebCore::StorageNamespace::sessionStorageNamespace):
1012         * storage/StorageNamespace.h:
1013         * storage/StorageNamespaceImpl.cpp:
1014         (WebCore::StorageNamespaceImpl::localStorageNamespace):
1015         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
1016         * storage/StorageNamespaceImpl.h:
1017         * storage/StorageStrategy.cpp:
1018         (WebCore::StorageStrategy::localStorageNamespace):
1019         (WebCore::StorageStrategy::sessionStorageNamespace):
1020         * storage/StorageStrategy.h:
1021
1022 2013-04-18  Martin Robinson  <mrobinson@igalia.com>
1023
1024         [GTK] fast/canvas/DrawImageSinglePixelStretch.html fails
1025         https://bugs.webkit.org/show_bug.cgi?id=58309
1026
1027         Reviewed by Alejandro G. Castro.
1028
1029         No new tests. This patch unskips a test.
1030
1031         Prevent sampling outside source boundaries, by creating subsurfaces from source surfaces.
1032         This also requires careful handling of negative and floating source rectangles.
1033
1034         * platform/graphics/cairo/PlatformContextCairo.cpp:
1035         (WebCore::PlatformContextCairo::drawSurfaceToContext): Use a subsurface to prevent sampling
1036         outside rectangle boundaries.
1037
1038 2013-04-18  Jonathan Feldstein  <jfeldstein@blackberry.com>
1039
1040         [BlackBerry] Improper initialization of ANGLEResources (resubmission)
1041         https://bugs.webkit.org/show_bug.cgi?id=114814
1042
1043         Reviewed by Yong Li, Rob Buis
1044         Internally reviewed by Maxim Mogilnitsky
1045
1046         MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle
1047         are initialized through the ShBuiltInResources function so these fields do not need to be
1048         set again in GraphicsContext3DBlackBerry.cpp. In addition, the extension flags should not
1049         be set to true without getExtension being called (Khronos WebGL specs, section 5.14.14.).
1050         In fact, as a direct result of these extensions being enabled prior to calling
1051         getExtension, a WebGL conformance suite test for GL_OES_standard_derivatives was failing.
1052
1053         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1054         (WebCore::GraphicsContext3D::GraphicsContext3D):
1055
1056 2013-04-18  Xuefei Ren  <xren@blackberry.com>
1057
1058         remove build warning(unused parameter)
1059         https://bugs.webkit.org/show_bug.cgi?id=114670
1060
1061         Reviewed by Rob Buis.
1062
1063         remove warning(unused parameter) in
1064         Source/WebCore/html/shadow/MediaControlsBlackBerry.cpp
1065         Source/WebCore/loader/blackberry/CookieJarBlackBerry.cpp
1066         Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp
1067         Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
1068         Source/WebCore/platform/network/blackberry/ResourceResponseBlackBerry.cpp
1069         Source/WebCore/platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
1070         Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
1071
1072
1073         * html/shadow/MediaControlsBlackBerry.cpp:
1074         (WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen):
1075         * loader/blackberry/CookieJarBlackBerry.cpp:
1076         (WebCore::getRawCookies):
1077         (WebCore::deleteCookie):
1078         * platform/blackberry/AuthenticationChallengeManager.cpp:
1079         (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
1080         * platform/blackberry/RenderThemeBlackBerry.cpp:
1081         (WebCore::RenderTheme::themeForPage):
1082         * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
1083         (WebCore::ResourceResponse::doPlatformAdopt):
1084         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1085         (WebCore::SocketStreamHandle::notifyStatusReceived):
1086         * plugins/blackberry/PluginViewBlackBerry.cpp:
1087         (WebCore::PluginView::invalidateRegion):
1088
1089 2013-04-18  Xuefei Ren  <xren@blackberry.com>
1090
1091
1092         remove build warning(unused parameter)
1093         https://bugs.webkit.org/show_bug.cgi?id=114670
1094
1095         Reviewed by Rob Buis.
1096
1097         remove builde warning (unused parameter) in
1098         Source/WebCore/platform/blackberry/CursorBlackBerry.cpp
1099
1100         * platform/blackberry/CursorBlackBerry.cpp:
1101         (WebCore::Cursor::Cursor):
1102
1103 2013-04-18  Andreas Kling  <akling@apple.com>
1104
1105         EditingStyle: Avoid some unnecessary CSSStyleDeclaration wrappers.
1106         <http://webkit.org/b/114763>
1107
1108         Reviewed by Antti Koivisto.
1109
1110         removeEquivalentProperties(CSSStyleDeclaration) and removeEquivalentProperties(StylePropertySet)
1111         only have different behavior if the CSSStyleDeclaration is computed style (they differ in handling
1112         of the 'font-size' property.)
1113
1114         Avoid creating a CSSStyleDeclaration for StylePropertySets where we can just pass them in directly.
1115
1116         * editing/EditingStyle.cpp:
1117         (WebCore::EditingStyle::removeStyleAddedByNode):
1118         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1119
1120 2013-04-18  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1121
1122         Unset :hover in inner documents
1123         https://bugs.webkit.org/show_bug.cgi?id=114446
1124
1125         Reviewed by Antonio Gomes.
1126
1127         Fixes a regression from r145126 where hover nodes in inner documents was sometimes
1128         not unset. Additionally it uses the new api from r145126 to avoid an unnecessary
1129         hit test in touch-event handling.
1130
1131         Test: fast/events/touch/frame-hover-update.html
1132
1133         * dom/Document.cpp:
1134         (WebCore::Document::updateHoverActiveState):
1135         * page/EventHandler.cpp:
1136         (WebCore::shouldGesturesTriggerActive):
1137         (WebCore::EventHandler::handleTouchEvent):
1138
1139 2013-04-18  Seokju Kwon  <seokju.kwon@gmail.com>
1140
1141         Web Inspector: Toolbar icons are displayed incorrectly
1142         https://bugs.webkit.org/show_bug.cgi?id=114792
1143
1144         Reviewed by Timothy Hatcher.
1145
1146         Inspector uses small toolbar icons when docking the inspector.
1147         So icons should have different x position.
1148
1149         No tests because no behavior change is expected.
1150
1151         * inspector/front-end/inspector.css: Add missing 'background-position-x' values.
1152         (body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
1153         (body.dock-to-bottom .toolbar-item.cpu-profiler .toolbar-icon):
1154         (body.dock-to-bottom .toolbar-item.css-profiler .toolbar-icon):
1155         (body.dock-to-bottom .toolbar-item.heap-profiler .toolbar-icon):
1156         (body.dock-to-bottom .toolbar-item.canvas-profiler .toolbar-icon):
1157         (body.dock-to-bottom .toolbar-item.memory-chart-profiler .toolbar-icon):
1158         (body.dock-to-bottom .toolbar-item.memory-snapshot-profiler .toolbar-icon):
1159
1160 2013-04-17  Jaehun Lim  <ljaehun.lim@samsung.com>
1161
1162         [css3-text] Rendering -webkit-hanging value for text-indent from css3-text
1163         https://bugs.webkit.org/show_bug.cgi?id=114663
1164
1165         Reviewed by Beth Dakin.
1166
1167         This patch is the rendering part to support hanging value for text-indent.
1168         "hanging" means "Inverts which lines are affected."
1169         It's prefixed and guarded by CSS3_TEXT flag.
1170
1171         Spec: http://dev.w3.org/csswg/css-text/#text-indent
1172
1173         Test: fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html
1174
1175         * rendering/RenderBlockLineLayout.cpp:
1176         (WebCore::requiresIndent): Inverted the return value when "-webkit-hanging" is applied.
1177
1178 2013-04-17  James Craig  <james@cookiecrook.com>
1179
1180         AX: aria-level does not override implicit level on h1, h2, etc
1181         https://bugs.webkit.org/show_bug.cgi?id=114692
1182
1183         Reviewed by Chris Fleizach.
1184
1185         aria-level now works on headings without an explicit role="heading" defined. Updated existing test coverage.
1186
1187         * accessibility/AccessibilityNodeObject.cpp:
1188         (WebCore::AccessibilityNodeObject::headingLevel):
1189
1190 2013-04-17  Chris Fleizach  <cfleizach@apple.com>
1191
1192         AX: VoiceOver says everything that isn't a link is a "clickable" in Safari reader?
1193         https://bugs.webkit.org/show_bug.cgi?id=114687
1194
1195         Reviewed by Tim Horton.
1196
1197         VoiceOver is saying all text is clickable, because AXPress is exposed as an action on static text.
1198         That is happening, because there's a click handler on the body element in this case.
1199
1200         I think the best plan to keep existing functionality, but fix this case is not to expose
1201         the press action for static text when the handler is on the body element.
1202
1203         Test: platform/mac/accessibility/press-action-not-exposed-when-body-is-click-handler.html
1204
1205         * accessibility/AccessibilityNodeObject.cpp:
1206         (WebCore::AccessibilityNodeObject::mouseButtonListener):
1207            Change from checking getAttributeEventListener to hasEventListeners. The former only
1208            checks if "onclick" is installed on the element and does not work with addEventListener!
1209
1210         * accessibility/AccessibilityObject.cpp:
1211         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
1212         * accessibility/AccessibilityObject.h:
1213         (WebCore::AccessibilityObject::isStaticText):
1214
1215 2013-04-17  Simon Fraser  <simon.fraser@apple.com>
1216
1217         Fix GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() to do predictive visible rect expansion
1218         https://bugs.webkit.org/show_bug.cgi?id=114775
1219
1220         Reviewed by Tim Horton.
1221
1222         GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() is intended to answer the question
1223         "if your visible rect is changed to X, would any tiles be created or destroyed?".
1224         
1225         However, for compositing layer tiled layers, we do some predictive visible rect expansion based on how
1226         the visible rect is changing when we actually commit visible rect changes. recursiveVisibleRectChangeRequiresFlush()
1227         was not doing that, causing it to give confusing answers, so fix it to do so.
1228         
1229         Both now call adjustTiledLayerVisibleRect(), and it's cleaner to make this a static function.
1230         
1231         A somewhat unrelated change is to take the layer bounds origin into account
1232         in GraphicsLayerCA::computeVisibleRect(). Desktop WebKit never sets this, but it's used
1233         on other platforms for composited scrolling, so needs to be taken into account
1234         when computing visible rects.
1235
1236         * platform/graphics/ca/GraphicsLayerCA.cpp:
1237         (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
1238         (WebCore::GraphicsLayerCA::computeVisibleRect):
1239         (WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
1240         (WebCore::GraphicsLayerCA::updateVisibleRect):
1241         * platform/graphics/ca/GraphicsLayerCA.h:
1242         (GraphicsLayerCA):
1243
1244 2013-04-17  Oliver Hunt  <oliver@apple.com>
1245
1246         Automate generation of toJS function for classes that need to report extra memory usage
1247         https://bugs.webkit.org/show_bug.cgi?id=114768
1248
1249         Reviewed by Geoff Garen.
1250
1251         Only really used by AudioBuffer for now.  The other classes that need it can be
1252         trivially refactored at a later date.
1253
1254         * Modules/webaudio/AudioBuffer.idl:
1255         * bindings/js/JSAudioBufferCustom.cpp:
1256         * bindings/js/JSDOMBinding.h:
1257         (WebCore):
1258         (HasMemoryCost):
1259         (NoType):
1260         (BaseMixin):
1261         * bindings/scripts/CodeGeneratorJS.pm:
1262         (GenerateImplementation):
1263
1264 2013-04-17  Dirk Schulze  <krit@webkit.org>
1265
1266         BasicShapeFunctions should use RenderStyle instead of StyleResolver
1267         https://bugs.webkit.org/show_bug.cgi?id=114743
1268
1269         Reviewed by Antti Koivisto.
1270
1271         BasicShapeFunctions does include RenderStyle instead of StyleResolver now.
1272         This is a simple refactoring patch, no new tests.
1273
1274         * css/BasicShapeFunctions.cpp:
1275         (WebCore::convertToLength): Use style and rootElementStyle directly.
1276         (WebCore::basicShapeForValue): Ditto.
1277         * css/BasicShapeFunctions.h:
1278         (WebCore):
1279         * css/DeprecatedStyleBuilder.cpp:
1280         (WebCore::ApplyPropertyClipPath::applyValue):
1281         (WebCore::ApplyPropertyExclusionShape::applyValue):
1282
1283 2013-04-17  Beth Dakin  <bdakin@apple.com>
1284
1285         Content inside frames and scrollbars in overflow areas hit-tests incorrectly when 
1286         the WKView has a header
1287         https://bugs.webkit.org/show_bug.cgi?id=114769
1288
1289         Reviewed by Simon Fraser.
1290
1291         convertToRenderer() and convertFromRenderer() need to factor in the headerHeight, 
1292         much like all of the conversion functions on ScrollView. 
1293         * page/FrameView.cpp:
1294         (WebCore::FrameView::convertFromRenderer):
1295         (WebCore::FrameView::convertToRenderer):
1296
1297         The scrollPosition equivalent of the existing scrollOffsetRelativeToDocument() 
1298         function. 
1299         * platform/ScrollView.cpp:
1300         (WebCore::ScrollView::scrollPositionRelativeToDocument):
1301         * platform/ScrollView.h:
1302         (ScrollView):
1303
1304 2013-04-17  Andreas Kling  <akling@apple.com>
1305
1306         Remove FragmentScriptingPermission.h include from Element.h.
1307         <http://webkit.org/b/114757>
1308
1309         Rubber-stamped by Anders Carlsson.
1310
1311         * dom/Element.h:
1312
1313 2013-04-17  Mark Lam  <mark.lam@apple.com>
1314
1315         Add LLINT and baseline JIT support for timing out scripts.
1316         https://bugs.webkit.org/show_bug.cgi?id=114577.
1317
1318         Reviewed by Geoffrey Garen.
1319
1320         Replaced use of the obsolete JSGlobalData.terminator methods with the
1321         JSGlobalData.watchdog equivalents.
1322
1323         * bindings/js/JSEventListener.cpp:
1324         (WebCore::JSEventListener::handleEvent):
1325         * bindings/js/SerializedScriptValue.cpp:
1326         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
1327         * bindings/js/WorkerScriptController.cpp:
1328         (WebCore::WorkerScriptController::evaluate):
1329         (WebCore::WorkerScriptController::scheduleExecutionTermination):
1330         (WebCore::WorkerScriptController::isExecutionTerminating):
1331
1332 2013-04-16  Jer Noble <jer.noble@apple.com>
1333
1334         Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
1335         https://bugs.webkit.org/show_bug.cgi?id=113531
1336
1337         Reviewed by Eric Carlson.
1338
1339         No new tests, though this is intermittently reproducible with
1340         http/tests/misc/delete-frame-during-readystatechange.html under ASAN.
1341
1342         * html/HTMLMediaElement.cpp:
1343         (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
1344             before the destructor exits. Clearing the media player may cancel a resource load,
1345             which can trigger a readystatechange event. It's possible for the HTMLMediaElement
1346             to attempt to fire an abort event within the readystatechange event, even though it is
1347             now in an inconsistent state. Clearling the media player before finishing the destructor
1348             ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
1349             Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
1350             attempt to fire events while destructing.
1351
1352 2013-04-17  Sergio Correia  <sergio.correia@openbossa.org>
1353
1354         Web Inspector: make generate-inspector-protocol-version work with python3 
1355         https://bugs.webkit.org/show_bug.cgi?id=114717
1356
1357         Revision r146765 added print() calls that made the script complain about 
1358         invalid syntax when using python3.
1359
1360         This commit replaces such calls with calls to sys.stdout.write(), analogous
1361         to the sys.stderr.write() ones already used throughout the file.
1362
1363         Reviewed by Timothy Hatcher.
1364
1365         No new tests. No user visible behavior changed.
1366
1367         * inspector/generate-inspector-protocol-version:
1368         (main):
1369
1370 2013-04-17  Seokju Kwon  <seokju.kwon@gmail.com>
1371
1372         Web Inspector: Fix Localized string warngs
1373         https://bugs.webkit.org/show_bug.cgi?id=114718
1374
1375         Reviewed by Timothy Hatcher.
1376
1377         No tests because no behavior change is expected.
1378
1379         * English.lproj/localizedStrings.js:
1380
1381 2013-04-17  Csaba Osztrogon√°c  <ossy@webkit.org>
1382
1383         [Qt] Unreviewed Windows buildfix.
1384
1385         * platform/qt/DragDataQt.cpp: Add a missing include.
1386
1387 2013-04-17  ChangSeok Oh  <shivamidow@gmail.com>
1388
1389         Breaking Float: floated block level element following inline element in floated container breaks to next line
1390         https://bugs.webkit.org/show_bug.cgi?id=45274
1391
1392         Reviewed by David Hyatt.
1393
1394         Fix position issue of floating element in floating element.
1395         Inner floating element has placed at next line when outer floating element has text,
1396         even though previous line has spaces enough to fit it.
1397         To solve this, the width of a space added temporarily for prohibiting duplication more than 2 empty spaces
1398         is subtracted when floating element is checked whether it fits on a line.
1399
1400         Tests: css2.1/20110323/floats-001.html
1401                css2.1/20110323/floats-102.html
1402                fast/inline-block/float-both-whitespace.html
1403                fast/inline-block/float-leading-whitespace.html
1404                fast/inline-block/float-no-whitespace.html
1405                fast/inline-block/float-trailing-whitespace.html
1406                fast/inline-block/multiple-floats-with-whitespace.html
1407
1408         * rendering/RenderBlockLineLayout.cpp:
1409         (WebCore::LineWidth::LineWidth):
1410         (WebCore::LineWidth::fitsOnLine):
1411         (WebCore::LineWidth::trailingWhitespaceWidth):
1412         (WebCore::LineWidth::setTrailingWhitespaceWidth):
1413         (LineWidth):
1414         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1415
1416 2013-04-17  Leo Yang  <leoyang@rim.com>
1417
1418         Lots of unused parameter warnings in filesystem code
1419         https://bugs.webkit.org/show_bug.cgi?id=114747
1420
1421         Reviewed by Carlos Garcia Campos.
1422
1423         Comment out or remove unused parameter identifiers.
1424
1425         No functionalities changed, no new tests.
1426
1427         * Modules/filesystem/DOMFileSystem.cpp: Comment out |snapshot| because
1428         it is referred in the comments inside the function.
1429         (WebCore):
1430         * Modules/filesystem/DOMFileSystemSync.cpp: Ditto.
1431         (WebCore):
1432         * Modules/filesystem/FileWriter.cpp: Remove unused |ec|.
1433         (WebCore::FileWriter::abort):
1434         * Modules/filesystem/FileWriterSync.cpp:
1435         (WebCore::FileWriterSync::didWrite): Remove unused |bytes|.
1436         * platform/AsyncFileSystemCallbacks.h:
1437         (WebCore::AsyncFileSystemCallbacks::didOpenFileSystem): Comment out unused parameters
1438         because the function is inlined.
1439         (WebCore::AsyncFileSystemCallbacks::didCreateSnapshotFile): Ditto.
1440         (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntry): Ditto.
1441         (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntries): Ditto.
1442         (WebCore::AsyncFileSystemCallbacks::didCreateFileWriter): Ditto.
1443         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp:
1444         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread): Remove unused |client|.
1445
1446 2013-04-17  Brent Fulgham  <bfulgham@webkit.org>
1447
1448         [Windows, WinCairo] Stop individually building WTF files in WebCore
1449         https://bugs.webkit.org/show_bug.cgi?id=114705
1450
1451         Reviewed by Anders Carlsson.
1452
1453         * WebCore.vcproj/WebCore.vcproj: Remove references to WTF objects.
1454         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1455         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
1456
1457 2013-04-17  Dirk Schulze  <krit@webkit.org>
1458
1459         Make lengthConversion methods and arguments const
1460         https://bugs.webkit.org/show_bug.cgi?id=114749
1461
1462         Reviewed by Andreas Kling.
1463
1464         Refactoring, no new tests.
1465
1466         * css/CSSCalculationValue.cpp:
1467         (WebCore::CSSCalcValue::computeLengthPx):
1468         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
1469         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
1470         (WebCore::CSSCalcBinaryOperation::toCalcValue):
1471         (WebCore::CSSCalcBinaryOperation::computeLengthPx):
1472         * css/CSSCalculationValue.h:
1473         (WebCore::CSSCalcValue::toCalcValue):
1474         (CSSCalcValue):
1475         * css/CSSPrimitiveValue.cpp:
1476         (WebCore::CSSPrimitiveValue::computeLength):
1477         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1478         (WebCore::CSSPrimitiveValue::viewportPercentageLength):
1479         * css/CSSPrimitiveValue.h:
1480         (CSSPrimitiveValue):
1481         * css/CSSPrimitiveValueMappings.h:
1482         (WebCore::CSSPrimitiveValue::convertToLength):
1483         * css/StyleResolver.cpp:
1484         (WebCore::StyleResolver::convertToIntLength):
1485         (WebCore::StyleResolver::convertToFloatLength):
1486         * css/StyleResolver.h:
1487         (StyleResolver):
1488
1489 2013-04-17  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1490
1491         [refactor] Moved ScriptedAnimationController common code to inline function
1492         https://bugs.webkit.org/show_bug.cgi?id=114681
1493
1494         Reviewed by Daniel Bates.
1495
1496         Avoided duplicated code by moving ScriptedAnimationController clearance
1497         code to a common function used by both Document::dispose() and
1498         Document::detach().
1499
1500         No new tests, no behavior changes.
1501
1502         * dom/Document.cpp:
1503         (WebCore::Document::dispose):
1504         (WebCore::Document::detach):
1505         (WebCore::Document::clearScriptedAnimationController): Added.
1506         * dom/Document.h:
1507         (Document):
1508
1509 2013-04-17  Chris Fleizach  <cfleizach@apple.com>
1510
1511         AX: When img@alt is undefined, WebKit should use @title as accessibility label if available
1512         https://bugs.webkit.org/show_bug.cgi?id=114535
1513
1514         Reviewed by Tim Horton.
1515
1516         Don't hide images from Accessibility that have the title attribute on them.
1517
1518         Test: accessibility/empty-image-with-title.html
1519
1520         * accessibility/AccessibilityRenderObject.cpp:
1521         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1522
1523 2013-04-17  Arpita Bahuguna  <a.bah@samsung.com>
1524
1525         getAttribute does not behave correctly for mixed-case attributes on HTML elements
1526         https://bugs.webkit.org/show_bug.cgi?id=105713
1527
1528         Reviewed by Andreas Kling.
1529
1530         getAttribute() and getAttributeNode() APIs do not convert the
1531         passed attribute name to lowercase before comparing against the
1532         existing attributes.
1533         The specification however states that the passed name should
1534         be converted to ASCII lowercase before checking for the existence
1535         of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
1536
1537         Test: fast/dom/Element/getAttribute-case-insensitivity.html
1538
1539         * dom/Element.h:
1540         (WebCore::ElementData::getAttributeItemIndex):
1541         getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
1542         which specifies whether or not the attribute's case should be ignored
1543         before comparison but we don't really convert the passed name to lowercase
1544         before carrying out the comparison.
1545
1546         Thus, when called from APIs such as getAttribute() and getAttributeNode()
1547         which do not explicitally convert the attribute name to lowercase
1548         before calling on this method, it fails to carry out a case-insensitive
1549         search.
1550
1551         Have thus made changes to convert the passed attribute's name to
1552         lowercase if 'shouldIgnoreAttributeCase' is true.
1553
1554 2013-04-17  John Griggs  <jgriggs@blackberry.com>
1555
1556         [BlackBerry] Add support for filesystem: URLs to BlackBerry Media Player.
1557         https://bugs.webkit.org/show_bug.cgi?id=114686
1558         https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=314865
1559
1560         Reviewed by Rob Buis.
1561
1562         Translate filesystem: URLs to file:// URLs for use by the media player, but only after the filesystem: URL has been checked for security, etc.
1563
1564         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1565         (WebCore::MediaPlayerPrivate::load):
1566         (WebCore::MediaPlayerPrivate::onError):
1567         (WebCore::MediaPlayerPrivate::onDurationChanged):
1568         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
1569
1570 2013-04-17  Brendan Long  <b.long@cablelabs.com>
1571
1572         [GStreamer] Eclipse warnings in MediaPlayerPrivateGStreamer
1573         https://bugs.webkit.org/show_bug.cgi?id=114654
1574
1575         Reviewed by Philippe Normand.
1576
1577         No new tests (nothing added).
1578
1579         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1580         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1581         Initialize m_volumeAndMuteInitialized
1582         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1583         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
1584         Initialize signal handlers to 0.
1585
1586 2013-04-17  Andrei Bucur  <abucur@adobe.com>
1587
1588         [CSS Regions] Remove m_flowThread from NodeRenderingContext
1589         https://bugs.webkit.org/show_bug.cgi?id=114732
1590
1591         Reviewed by Antti Koivisto.
1592
1593         Cleanup NodeRenderingContext. Remove unused member m_flowThread.
1594
1595         Tests: None needed.
1596
1597         * dom/NodeRenderingContext.cpp:
1598         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1599         * dom/NodeRenderingContext.h: Removed m_flowThread.
1600
1601 2013-04-17  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1602
1603         [Qt] MediaPlayerPrivateQt.cpp doesn't build in debug
1604
1605         Unreviewed build fix.
1606
1607         We need to include Logging.h to get the LOG definitions.
1608
1609         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1610
1611 2013-04-17  Claudio Saavedra  <csaavedra@igalia.com>
1612
1613         execCommand("RemoveFormat") might remove format after the selection
1614         https://bugs.webkit.org/show_bug.cgi?id=112240
1615
1616         Reviewed by Ryosuke Niwa.
1617
1618         Tests: editing/execCommand/remove-format-multiple-elements-mac.html
1619
1620         This bug is hit when ApplyStyleCommand is used to change the
1621         style and the current selection ends in the beginning of a new node.
1622         The bug is actually a two-fold thing:
1623
1624         1. There was no check as to whether the end node is really
1625         selected or not, and format was always removed from it with
1626         pushDownInlineStyleAroundNode(). An equivalent check for the start
1627         node was already in place, so fix it analogously.
1628
1629         2. Previous stage might change the dom tree, resulting in a render
1630         tree that is not up-to-date. Position::upstream() is later used
1631         and, in order to be able to find a visually equivalent position in
1632         a text node, this method needs the render tree to be up-to-date,
1633         therefore, a call to updateLayoutIgnorePendingStylesheets() is
1634         necessary.
1635
1636         * editing/ApplyStyleCommand.cpp:
1637         (WebCore::ApplyStyleCommand::removeInlineStyle): Make sure that no
1638         format is removed from the end node if it's not fully selected.
1639         (WebCore::ApplyStyleCommand::nodeFullySelected): Call updateLayoutIgnorePendingStylesheets()
1640
1641 2013-04-17  Alberto Garcia  <agarcia@igalia.com>
1642
1643         [BlackBerry] GraphicsContext3D: don't initialize m_extensions in the constructor
1644         https://bugs.webkit.org/show_bug.cgi?id=114726
1645
1646         Reviewed by Carlos Garcia Campos.
1647
1648         m_extensions is now initialized on demand by
1649         GraphicsContext3D::getExtensions().
1650
1651         Doing it in the constructor produces a crash, because
1652         Extensions3DOpenGLES() calls glGetString before the WebGL context
1653         is current.
1654
1655         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1656         (WebCore::GraphicsContext3D::GraphicsContext3D):
1657
1658 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
1659
1660         Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now that the distinction no longer matters
1661         https://bugs.webkit.org/show_bug.cgi?id=114712
1662
1663         Reviewed by Dan Bernstein.
1664
1665         No behavior change expected.
1666
1667         * bindings/scripts/IDLAttributes.txt: Remove the JSFoo attributes
1668         that have bare Foo equivalents.
1669         * bindings/scripts/CodeGeneratorJS.pm: Remove support for JSFoo
1670         aliases.
1671         (GetGenerateIsReachable):
1672         (GetCustomIsReachable):
1673         (ShouldGenerateToJSDeclaration):
1674         (ShouldGenerateToJSImplementation):
1675         (HasCustomConstructor):
1676         (HasCustomGetter):
1677         (HasCustomSetter):
1678         (HasCustomMethod):
1679
1680         Replace JSFoo attributes with equivalen Foo attributs in all files
1681         below:
1682         
1683         * Modules/geolocation/Geolocation.idl:
1684         * Modules/indexeddb/IDBDatabase.idl:
1685         * Modules/indexeddb/IDBObjectStore.idl:
1686         * Modules/webaudio/DOMWindowWebAudio.idl:
1687         * Modules/websockets/DOMWindowWebSocket.idl:
1688         * Modules/websockets/WorkerContextWebSocket.idl:
1689         * css/CSSRule.idl:
1690         * css/CSSRuleList.idl:
1691         * css/CSSStyleDeclaration.idl:
1692         * css/CSSValue.idl:
1693         * css/MediaList.idl:
1694         * css/StyleMedia.idl:
1695         * css/StyleSheet.idl:
1696         * dom/MessagePort.idl:
1697         * dom/MutationObserver.idl:
1698         * dom/Node.idl:
1699         * fileapi/Blob.idl:
1700         * html/HTMLDocument.idl:
1701         * html/HTMLTemplateElement.idl:
1702         * html/canvas/ArrayBuffer.idl:
1703         * html/canvas/CanvasRenderingContext.idl:
1704         * html/canvas/DataView.idl:
1705         * html/canvas/EXTDrawBuffers.idl:
1706         * html/canvas/EXTTextureFilterAnisotropic.idl:
1707         * html/canvas/OESElementIndexUint.idl:
1708         * html/canvas/OESStandardDerivatives.idl:
1709         * html/canvas/OESTextureFloat.idl:
1710         * html/canvas/OESTextureHalfFloat.idl:
1711         * html/canvas/OESVertexArrayObject.idl:
1712         * html/canvas/WebGLCompressedTextureATC.idl:
1713         * html/canvas/WebGLCompressedTexturePVRTC.idl:
1714         * html/canvas/WebGLCompressedTextureS3TC.idl:
1715         * html/canvas/WebGLDebugRendererInfo.idl:
1716         * html/canvas/WebGLDebugShaders.idl:
1717         * html/canvas/WebGLDepthTexture.idl:
1718         * html/canvas/WebGLLoseContext.idl:
1719         * html/track/TextTrack.idl:
1720         * html/track/TextTrackCue.idl:
1721         * html/track/TextTrackList.idl:
1722         * loader/appcache/DOMApplicationCache.idl:
1723         * page/BarInfo.idl:
1724         * page/Console.idl:
1725         * page/DOMSelection.idl:
1726         * page/DOMWindow.idl:
1727         * page/History.idl:
1728         * page/Location.idl:
1729         * page/MemoryInfo.idl:
1730         * page/Navigator.idl:
1731         * page/Screen.idl:
1732         * page/WorkerNavigator.idl:
1733         * plugins/DOMMimeTypeArray.idl:
1734         * plugins/DOMPluginArray.idl:
1735         * storage/Storage.idl:
1736         * workers/AbstractWorker.idl:
1737         * workers/SharedWorker.idl:
1738         * workers/Worker.idl:
1739         * workers/WorkerContext.idl:
1740         * workers/WorkerLocation.idl:
1741         * xml/XMLHttpRequestUpload.idl:
1742
1743 2013-04-16  Beth Dakin  <bdakin@apple.com>
1744
1745         Re-name Page::layoutMilestones() to Page::requestedLayoutMilestones()
1746         https://bugs.webkit.org/show_bug.cgi?id=114713
1747
1748         Reviewed by Simon Fraser.
1749
1750         * page/FrameView.cpp:
1751         (WebCore::FrameView::performPostLayoutTasks):
1752         * page/Page.cpp:
1753         (WebCore::Page::Page):
1754         (WebCore::Page::addLayoutMilestones):
1755         (WebCore::Page::removeLayoutMilestones):
1756         (WebCore::Page::isCountingRelevantRepaintedObjects):
1757         * page/Page.h:
1758         (WebCore::Page::requestedLayoutMilestones):
1759         (Page):
1760         * rendering/RenderLayerCompositor.cpp:
1761         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1762
1763 2013-04-16  Patrick Gansterer  <paroga@webkit.org>
1764
1765         [CMake] Fix dependecy calculation for generated inspector files
1766         https://bugs.webkit.org/show_bug.cgi?id=114092
1767
1768         Reviewed by Brent Fulgham.
1769
1770         At least in a generated Visual Studio solution the files generated via
1771         CodeGeneratorInspector.py are considered outdated all the time because
1772         the code generator only touches the file when the content changed.
1773         Add an --write_always parameter to the script to touch the file always.
1774
1775         * CMakeLists.txt:
1776         * inspector/CodeGeneratorInspector.py:
1777
1778 2013-04-16  Anders Carlsson  <andersca@apple.com>
1779
1780         Clone storage namespaces for window.open
1781         https://bugs.webkit.org/show_bug.cgi?id=114703
1782
1783         Reviewed by Sam Weinig.
1784
1785         Pass the new page to StorageNamespace::copy.
1786
1787         * page/Chrome.cpp:
1788         (WebCore::Chrome::createWindow):
1789         * storage/StorageNamespace.h:
1790         (StorageNamespace):
1791         * storage/StorageNamespaceImpl.cpp:
1792         (WebCore::StorageNamespaceImpl::copy):
1793         * storage/StorageNamespaceImpl.h:
1794         (WebCore):
1795         (StorageNamespaceImpl):
1796
1797 2013-04-16  Sam Weinig  <sam@webkit.org>
1798
1799         Fix fallout after r148545.
1800
1801         * platform/text/TextChecking.h:
1802         Move Platform defines that were incorrectly in WebCore, into Platform.h
1803
1804 2013-04-16  Hans Muller  <hmuller@adobe.com>
1805
1806         [CSS Exclusions] polygon shape-inside layout fails
1807         https://bugs.webkit.org/show_bug.cgi?id=114402
1808
1809         Reviewed by Dirk Schulze.
1810
1811         The firstIncludedIntervalLogicalTop() method's implementation relied on optimistic
1812         assumptions about floating point accuracy which, in rare cases, caused it to discard
1813         first-fit locations based on the intersection of the minLogicalIntervalTop offset edge
1814         and a polygon offset edge. Now: we do not verify that first-fit locations based on the
1815         intersection of an offset edge and the minLogicalIntervalTop offset edge are below
1816         the horizontal minLogicalIntervalTop line. They're essentially below the line "by definition".
1817
1818         Test: fast/exclusions/shape-inside/shape-inside-polygon-layout.html
1819
1820         * rendering/ExclusionPolygon.cpp:
1821         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Avoid floating point problems
1822             when checking intersections with the offset edge based on minLogicalIntervalTop.
1823         * rendering/ExclusionPolygon.h:
1824         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge): Initialize the basis field.
1825         (WebCore::OffsetPolygonEdge::basis): Report what the offset edge is "based on": a polygon
1826             edge, the top of the line, or a (reflex) vertex.
1827         (OffsetPolygonEdge): Added the Basis enum to enable tracking what the geometry of
1828             an offset edge is based on.
1829
1830 2013-04-16  Jer Noble  <jer.noble@apple.com>
1831
1832         Further unreviewed build fix: protect JSAudioBufferCustom with a ENABLE(WEB_AUDIO) check.
1833
1834         * bindings/js/JSAudioBufferCustom.cpp:
1835
1836 2013-04-16  Jer Noble  <jer.noble@apple.com>
1837
1838         Unreviewed build fix; add new JSAudioBuffer.cpp file to more build systems.
1839
1840         * GNUmakefile.list.am:
1841         * Target.pri:
1842         * UseJSC.cmake:
1843
1844 2013-04-16  Jer Noble  <jer.noble@apple.com>
1845
1846         Repeated use of decodeAudioData() causes leak
1847         https://bugs.webkit.org/show_bug.cgi?id=114709
1848
1849         Reviewed by Geoffrey Garen.
1850
1851         Report the correct size of the AudioBuffer to the garbage collector so that creating
1852         these large buffers will trigger garbage collection.
1853
1854         * Modules/webaudio/AudioBuffer.cpp:
1855         (WebCore::AudioBuffer::memoryCost): Added; simple sum of the buffer sizes in m_channels;
1856         * Modules/webaudio/AudioBuffer.h:
1857         * Modules/webaudio/AudioBuffer.idl: Add the CustomToJSObject flag.
1858         * WebCore.xcodeproj/project.pbxproj:
1859         * bindings/js/JSAudioBufferCustom.cpp: Added.
1860         (WebCore::toJS): Added; report the extra size of an AudioBuffer when the wrapper
1861             is created.
1862
1863 2013-04-16  Beth Dakin  <bdakin@apple.com>
1864
1865         Need a new layout milestone to notify bundle clients when the header has been 
1866         flushed
1867         https://bugs.webkit.org/show_bug.cgi?id=114706
1868         -and corresponding-
1869         <rdar://problem/13657284>
1870
1871         Reviewed by Simon Fraser.
1872
1873         New LayoutMilestone is DidFirstFlushForHeaderLayer.
1874         * page/LayoutMilestones.h:
1875         
1876         New API to allow removing a LayoutMilestone.
1877         * WebCore.exp.in:
1878         * page/Page.cpp:
1879         (WebCore::Page::removeLayoutMilestones):
1880         * page/Page.h:
1881         (Page):
1882
1883         New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether 
1884         we need to send the DidFirstFlushForHeaderLayer milestone.
1885         * rendering/RenderLayerCompositor.h:
1886         (RenderLayerCompositor):
1887         * rendering/RenderLayerCompositor.cpp:
1888         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1889
1890         Send the milestone if appropriate.
1891         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1892
1893          Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
1894         (WebCore::RenderLayerCompositor::updateLayerForHeader):
1895
1896 2013-04-16  Tim Horton  <timothy_horton@apple.com>
1897
1898         PlugIn Snapshotting: Crashes refreshing non-main-frame PDFPlugins
1899         https://bugs.webkit.org/show_bug.cgi?id=114702
1900         <rdar://problem/13542020>
1901
1902         Reviewed by Dean Jackson.
1903
1904         If:
1905
1906             a) a plugin fails all the tests in willCreatePlugIn, so it is WaitingForSnapshot there
1907             b) primary plugin detection attempts to restart a plugin between the
1908                time that willCreatePlugIn and didCreatePlugIn fire
1909             c) when didCreatePlugIn fires, shouldAlwaysAutoStart() returns true,
1910                because the plug-in is whitelisted,
1911
1912         we end up reattach()ing and going to Restarted state, and then going straight
1913         to Playing state in didCreatePlugIn.
1914
1915         Instead, primary plugin promotion should be deferred until after the plugin is created,
1916         so that we can take that one last bit of information (shouldAlwaysAutoStart) into account
1917         before restarting and reattaching the plug-in.
1918
1919         * html/HTMLPlugInImageElement.cpp:
1920         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1921         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn):
1922         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
1923         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
1924         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn):
1925         * html/HTMLPlugInImageElement.h:
1926
1927 2013-04-16  Wei James  <james.wei@intel.com>
1928
1929         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::ChannelMergerNode::process
1930         https://bugs.webkit.org/show_bug.cgi?id=112657
1931
1932         Avoid to access input bus in checkNumberOfChannelsForInput() before the
1933         bus is updated with AudioNode::checkNumberOfChannelsForInput().
1934
1935         Reviewed by Chris Rogers.
1936
1937         * Modules/webaudio/ChannelMergerNode.cpp:
1938         (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
1939
1940 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
1941
1942         Even more Windows build fix and a Qt minimal build fix attempt.
1943
1944         * html/parser/XSSAuditorDelegate.cpp:
1945         * page/win/FrameCGWin.cpp:
1946
1947 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
1948
1949         More Windows build fixes.
1950
1951         * platform/win/DragDataWin.cpp:
1952         * platform/win/PasteboardWin.cpp:
1953
1954 2013-04-16  Sam Weinig  <sam@webkit.org>
1955
1956         Windows build fix.
1957
1958         * page/win/FrameWin.cpp:
1959
1960 2013-04-16  Dean Jackson  <dino@apple.com>
1961
1962         PlugIns that resize in user gestures should be immune to snapshotting
1963         https://bugs.webkit.org/show_bug.cgi?id=114697
1964         <rdar://problem/13666258>
1965
1966         Reviewed by Tim Horton.
1967
1968         Now that we snapshot plugins if they resize above the snapshotting threshold,
1969         we need to make sure that we don't do it in response to a user gesture
1970         such as a click.
1971
1972         Due to the complexities of real-world content and the way they often do
1973         things using timeout, I copied the code from the generic user gesture
1974         timeout, which gives a 5 second grace period after clicks.
1975
1976         * html/HTMLPlugInImageElement.cpp:
1977         (WebCore::documentHadRecentUserGesture): New static function to share the code for
1978             checking the time since the last click (or whatever).
1979         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): Make sure
1980             to test for a user gesture.
1981         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Move the
1982             code into the new function.
1983
1984 2013-04-15  Sam Weinig  <sam@webkit.org>
1985
1986         Remove more #includes from Frame.h
1987         https://bugs.webkit.org/show_bug.cgi?id=114642
1988
1989         Reviewed by Anders Carlsson.
1990
1991         Convert Editor, FrameSelection, EventHandler and AnimationController into
1992         OwnPtrs, to avoid inclusion.
1993
1994         * accessibility/AXObjectCache.cpp:
1995         * accessibility/AccessibilityObject.cpp:
1996         * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
1997         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1998         * bindings/objc/DOM.mm:
1999         * dom/CharacterData.cpp:
2000         * dom/ContainerNode.cpp:
2001         * dom/Element.cpp:
2002         * editing/AlternativeTextController.cpp:
2003         * editing/CompositeEditCommand.cpp:
2004         * editing/DeleteButtonController.h:
2005         * editing/EditingStyle.cpp:
2006         * editing/InsertLineBreakCommand.cpp:
2007         * editing/SpellChecker.cpp:
2008         * editing/SpellingCorrectionCommand.cpp:
2009         * editing/TextInsertionBaseCommand.cpp:
2010         * history/CachedFrame.cpp:
2011         * html/HTMLAnchorElement.cpp:
2012         * html/HTMLInputElement.cpp:
2013         * html/HTMLPlugInElement.cpp:
2014         * html/HTMLSelectElement.cpp:
2015         * html/HTMLTextAreaElement.cpp:
2016         * html/HTMLTextFormControlElement.cpp:
2017         * html/TextFieldInputType.cpp:
2018         * html/shadow/ClearButtonElement.cpp:
2019         * html/shadow/MediaControlElements.cpp:
2020         * html/shadow/SliderThumbElement.cpp:
2021         * inspector/InspectorPageAgent.h:
2022         * loader/FrameLoader.cpp:
2023         * page/DOMWindow.cpp:
2024         * page/Frame.cpp:
2025         * page/Frame.h:
2026         * page/FrameView.cpp:
2027         * page/FrameView.h:
2028         * page/Page.cpp:
2029         * page/TouchAdjustment.cpp:
2030         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2031         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2032         * platform/gtk/PasteboardGtk.cpp:
2033         * platform/qt/ClipboardQt.cpp:
2034         * rendering/HitTestResult.cpp:
2035         * rendering/RenderBlock.cpp:
2036         * rendering/RenderEmbeddedObject.cpp:
2037         * rendering/RenderLayer.cpp:
2038         * rendering/RenderNamedFlowThread.cpp:
2039         * rendering/RenderObject.cpp:
2040         * rendering/RenderSnapshottedPlugIn.cpp:
2041         * svg/graphics/SVGImage.cpp:
2042         * testing/Internals.cpp:
2043
2044 2013-04-16  Jessie Berlin  <jberlin@apple.com>
2045
2046         Speculative Windows build fix.
2047
2048         * platform/win/ContextMenuWin.cpp:
2049
2050 2013-04-16  Eric Carlson  <eric.carlson@apple.com>
2051
2052         [Mac] in-band cues sometimes displayed late
2053         https://bugs.webkit.org/show_bug.cgi?id=114629
2054
2055         Reviewed by Jer Noble.
2056
2057         No new tests, this deals with a platform-specific issue that is extremely timing dependent.
2058
2059         * html/track/InbandTextTrack.cpp:
2060         (WebCore::TextTrackCueMap::add): New, two way cue data <-> cue map.
2061         (WebCore::TextTrackCueMap::find): 
2062         (WebCore::TextTrackCueMap::remove):
2063         (WebCore::InbandTextTrack::updateCueFromCueData): New, update an existing cue. Set cue end time
2064             to video duration if it is unknown.
2065         (WebCore::InbandTextTrack::addGenericCue): Look for existing cues without considering duration
2066             so we can match incomplete cues.
2067         (WebCore::InbandTextTrack::updateGenericCue): New, update an existing cue. This allows us to 
2068             add in-band cues as soon as we get them from the media engine and update them as more
2069             information becomes available.
2070         (WebCore::InbandTextTrack::removeGenericCue): New, remove an existing cue. This is necessary
2071             because we never want to keep an incomplete cue when a seek happens.
2072         (WebCore::InbandTextTrack::removeCue): New, base class override so we can keep the two way
2073             map up to date.
2074         * html/track/InbandTextTrack.h:
2075
2076         * html/track/TextTrack.cpp:
2077         (WebCore::TextTrack::addCue): TextTrack::removeCue takes a RefPtr.
2078         (WebCore::TextTrack::removeCue): Take a RefPtr.
2079         (WebCore::TextTrack::hasCue): Allow caller to request match without considering end time.
2080         * html/track/TextTrack.h:
2081
2082         * html/track/TextTrackCue.cpp:
2083         (WebCore::TextTrackCue::TextTrackCue): Initialize m_processingCueChanges.
2084         (WebCore::TextTrackCue::willChange): Renamed from cueWillChange. Use m_processingCueChanges
2085             to avoid thrashing the track when many cue properties will change.
2086         (WebCore::TextTrackCue::didChange): Renamed from cueDidChange. Use m_processingCueChanges
2087             to avoid thrashing the track when many cue properties will change.
2088         (WebCore::TextTrackCue::setId): cueWillChange -> willChange. cueDidChange -> didChange. 
2089         (WebCore::TextTrackCue::setStartTime): Ditto.
2090         (WebCore::TextTrackCue::setEndTime): Ditto.
2091         (WebCore::TextTrackCue::setPauseOnExit): Ditto.
2092         (WebCore::TextTrackCue::setVertical): Ditto.
2093         (WebCore::TextTrackCue::setSnapToLines): Ditto.
2094         (WebCore::TextTrackCue::setLine): Ditto.
2095         (WebCore::TextTrackCue::setPosition): Ditto.
2096         (WebCore::TextTrackCue::setSize): Ditto.
2097         (WebCore::TextTrackCue::setAlign): Ditto.
2098         (WebCore::TextTrackCue::setText): Ditto.
2099         (WebCore::TextTrackCue::setRegionId): Ditto.
2100         (WebCore::TextTrackCue::isEqual): Renamed from operator==, take match rules param.
2101         * html/track/TextTrackCue.h:
2102
2103         * html/track/TextTrackCueGeneric.cpp:
2104         (WebCore::TextTrackCueGeneric::isEqual): Renamed from operator==, take match rules param.
2105         * html/track/TextTrackCueGeneric.h:
2106
2107         * platform/graphics/InbandTextTrackPrivateClient.h: Make GenericCueData refcounted.
2108         (WebCore::GenericCueData::create): New.
2109         (WebCore::GenericCueData::status): Ditto.
2110         (WebCore::GenericCueData::setStatus): Ditto.
2111         (WebCore::GenericCueData::GenericCueData):
2112
2113         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2114         (WebCore::InbandTextTrackPrivateAVF::processCue): Add cues as soon as we get them from the media
2115             engine, update duration once we know it.
2116         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Tell the client to remove all incomplete
2117             cues we have delivered.
2118         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
2119
2120         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2121         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Do not flush cues when seek completes,
2122             we did that when the seek started and cues can be delivered before we get the the 
2123             seek completed  notification.
2124
2125 2013-04-16  James Craig  <james@cookiecrook.com>
2126
2127         dfn element should be exposed as AXGroup:AXDefinition
2128         https://bugs.webkit.org/show_bug.cgi?id=108980
2129
2130         Reviewed by Chris Fleizach.
2131
2132         dfn element now exposed as AXGroup:AXDefinition. Updated existing tests.
2133
2134         * accessibility/AccessibilityRenderObject.cpp:
2135         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2136         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2137
2138 2013-04-16  Anders Carlsson  <andersca@apple.com>
2139
2140         Begin chipping away at ScriptState
2141         https://bugs.webkit.org/show_bug.cgi?id=114695
2142
2143         Reviewed by Geoffrey Garen.
2144
2145         Remove ScriptStateProtectedPtr as well as evalEnabled and setEvalEnabled.
2146
2147         * bindings/js/ScriptState.cpp:
2148         * bindings/js/ScriptState.h:
2149         * inspector/InjectedScriptBase.cpp:
2150         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
2151         * inspector/ScriptArguments.cpp:
2152         (WebCore::ScriptArguments::ScriptArguments):
2153         (WebCore::ScriptArguments::globalState):
2154         * inspector/ScriptArguments.h:
2155
2156 2013-04-15  Anders Carlsson  <andersca@apple.com>
2157
2158         Remove unneeded headers from ScriptExecutionContext.h
2159         https://bugs.webkit.org/show_bug.cgi?id=114631
2160
2161         Reviewed by Alexey Proskuryakov.
2162
2163         This shaves another minute off WebCore build time on my MacBook Pro.
2164
2165         * dom/ScriptExecutionContext.cpp:
2166         * dom/ScriptExecutionContext.h:
2167         * fileapi/Blob.cpp:
2168         * rendering/RenderBlock.cpp:
2169         * rendering/RenderBox.cpp:
2170         * rendering/RenderFlowThread.cpp:
2171         * rendering/RenderFrameSet.cpp:
2172         * rendering/RenderIFrame.cpp:
2173         * rendering/RenderImage.cpp:
2174         * rendering/RenderListBox.cpp:
2175         * rendering/RenderListItem.cpp:
2176         * rendering/RenderListMarker.cpp:
2177         * rendering/RenderMedia.cpp:
2178         * rendering/RenderObject.cpp:
2179         * rendering/RenderRegion.cpp:
2180         * rendering/RenderReplaced.cpp:
2181         * rendering/RenderReplica.cpp:
2182         * rendering/RenderRubyRun.cpp:
2183         * rendering/RenderScrollbarPart.cpp:
2184         * rendering/RenderSlider.cpp:
2185         * rendering/RenderTable.cpp:
2186         * rendering/RenderTableCell.cpp:
2187         * rendering/RenderTableRow.cpp:
2188         * rendering/RenderTableSection.cpp:
2189         * rendering/RenderTextControlSingleLine.cpp:
2190         * rendering/RenderTextTrackCue.cpp:
2191         * rendering/RenderVideo.cpp:
2192         * rendering/RenderView.cpp:
2193         * rendering/RenderWidget.cpp:
2194         * rendering/svg/RenderSVGContainer.cpp:
2195         * rendering/svg/RenderSVGForeignObject.cpp:
2196         * rendering/svg/RenderSVGGradientStop.cpp:
2197         * rendering/svg/RenderSVGHiddenContainer.cpp:
2198         * rendering/svg/RenderSVGImage.cpp:
2199         * rendering/svg/RenderSVGResourceContainer.cpp:
2200         * rendering/svg/RenderSVGResourceMarker.cpp:
2201         * rendering/svg/RenderSVGRoot.cpp:
2202         * rendering/svg/RenderSVGShape.cpp:
2203         * rendering/svg/RenderSVGText.cpp:
2204
2205 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
2206
2207         Remove even yet still more traces of v8
2208         https://bugs.webkit.org/show_bug.cgi?id=114693
2209
2210         Reviewed by Anders Carlsson.
2211
2212         No behavior change.
2213
2214         * bindings/generic/ActiveDOMCallback.h:
2215         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): Remove a V8-specific
2216         method and the comment referencing it.
2217         * bindings/generic/ActiveDOMCallback.cpp:
2218         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): ditto
2219         * fileapi/File.cpp:
2220         (WebCore::File::File): Remove a comment referencing v8
2221         * inspector/InjectedScriptExterns.js: ditto
2222
2223 2013-04-16  Alexey Proskuryakov  <ap@apple.com>
2224
2225         Remove unused AlternativeTextClient::dismissDictationAlternativeUI
2226         https://bugs.webkit.org/show_bug.cgi?id=114598
2227
2228         Reviewed by Ryosuke Niwa.
2229
2230         Removing dead code.
2231
2232         * WebCore.exp.in:
2233         * editing/mac/AlternativeTextUIController.h: Made dismissAlternatives() private.
2234         * page/AlternativeTextClient.h:
2235
2236 2013-04-16  Robert Hogan  <robert@webkit.org>
2237
2238         Float at exact multiple of line-height affects too many lines
2239         https://bugs.webkit.org/show_bug.cgi?id=112744
2240
2241         Reviewed by David Hyatt.
2242
2243         Tests: fast/block/float/float-with-fractional-height-vertical-lr.html
2244                fast/block/float/float-with-fractional-height.html
2245
2246         When adding floats to the interval tree used for testing floats' overlap with lineboxes
2247         truncate the dimensions of the float rather than rounding them. This matches the
2248         treatment of linebox dimensions so ensures the test for overlap is comparing like
2249         with like.
2250
2251         * rendering/RenderBlock.cpp:
2252         (WebCore::::collectIfNeeded):
2253         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
2254         (WebCore::::string):
2255
2256 2013-04-16  Chris Fleizach  <cfleizach@apple.com>
2257
2258         AX: aria-valuetext is not exposed on OS X.
2259         https://bugs.webkit.org/show_bug.cgi?id=114628
2260
2261         Reviewed by Tim Horton.
2262
2263         aria-valuetext is only being exposed on ARIA controls. That's because there were
2264         checks in place so that ONLY ARIA defined controls would return anything related to valuetext.
2265         We should allow this to work on native controls as well.
2266
2267         Test: platform/mac/accessibility/aria-valuetext-on-native-slider.html
2268
2269         * accessibility/AccessibilityNodeObject.cpp:
2270         (WebCore::AccessibilityNodeObject::valueDescription):
2271         (WebCore):
2272         (WebCore::AccessibilityNodeObject::valueForRange):
2273         (WebCore::AccessibilityNodeObject::maxValueForRange):
2274         (WebCore::AccessibilityNodeObject::minValueForRange):
2275         * accessibility/AccessibilityNodeObject.h:
2276         (AccessibilityNodeObject):
2277         * accessibility/AccessibilityObject.cpp:
2278         (WebCore::AccessibilityObject::isRangeControl):
2279              Rename isARIAControl to isRangeControl and make it apply to all elements.
2280         * accessibility/AccessibilityObject.h:
2281
2282 2013-04-15  Jon Lee  <jonlee@apple.com>
2283
2284         RenderView should bail out of paintBoxDecorations() when painting with a different renderer
2285         https://bugs.webkit.org/show_bug.cgi?id=114665
2286         <rdar://problem/13434884>
2287
2288         Reviewed by Simon Fraser.
2289
2290         * rendering/RenderView.cpp:
2291         (WebCore::RenderView::paintBoxDecorations): Add a check to see if we should paint within the renderer.
2292         This check exists in all other implementations of paintBoxDecorations(), and correctly avoids painting the
2293         decorations if the root provided is not the RenderView.
2294
2295 2013-04-16  Max Vujovic  <mvujovic@adobe.com>
2296
2297         [CSS Shaders] Remove the cache of validated programs
2298         https://bugs.webkit.org/show_bug.cgi?id=112844
2299
2300         Reviewed by Dean Jackson.
2301
2302         Since we're caching CustomFilterProgram(s) now, we don't need another cache for
2303         CustomFilterValidatedProgram(s). With this patch, CustomFilterProgram stores a reference
2304         to a lazily created CustomFilterValidatedProgram, and CustomFilterGlobalContext no longer
2305         has a validated program cache.
2306
2307         Also, this patch removes the CustomFilterValidatedProgram's stored reference to
2308         CustomFilterGlobalContext. The removal of the validated program cache would cause
2309         this reference to become weak. Validated programs only needed to keep the global context
2310         reference in order to create a CustomFilterCompiledProgram. In this patch, we create
2311         CustomFilterCompiledProgram(s) in FECustomFilter instead of in CustomFilterValidatedProgram,
2312         so validated programs don't need to store the global context reference anymore.
2313
2314         No new tests. Just Refactoring.
2315
2316         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
2317         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
2318         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
2319         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
2320         * platform/graphics/filters/CustomFilterGlobalContext.h:
2321         (CustomFilterGlobalContext):
2322         * platform/graphics/filters/CustomFilterProgram.cpp:
2323         (WebCore::CustomFilterProgram::validatedProgram):
2324         (WebCore::CustomFilterProgram::setValidatedProgram):
2325         * platform/graphics/filters/CustomFilterProgram.h:
2326         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2327         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
2328         (WebCore::CustomFilterValidatedProgram::compiledProgram):
2329         (WebCore::CustomFilterValidatedProgram::setCompiledProgram):
2330         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
2331         * platform/graphics/filters/CustomFilterValidatedProgram.h:
2332         (CustomFilterValidatedProgram):
2333         * platform/graphics/filters/FECustomFilter.cpp:
2334         (WebCore::FECustomFilter::prepareForDrawing):
2335         * rendering/FilterEffectRenderer.cpp:
2336         * rendering/RenderLayer.cpp:
2337         (WebCore::RenderLayer::computeFilterOperations):
2338
2339 2013-04-16  Anthony Scian  <ascian@blackberry.com>
2340
2341         [BlackBerry] LayerTexture: check if the graphics context is NULL
2342         https://bugs.webkit.org/show_bug.cgi?id=114674
2343
2344         Reviewed by Rob Buis.
2345
2346         Internal PR: 256522
2347
2348         * platform/graphics/blackberry/LayerTexture.cpp:
2349         (WebCore::LayerTexture::setContentsToColor):
2350
2351 2013-04-13  Andreas Kling  <akling@apple.com>
2352
2353         REGRESSION(r148128): window.resizeTo doesn't work from Safari address bar.
2354         <rdar://problem/13635894>
2355         <http://webkit.org/b/114561>
2356
2357         Reviewed by Sam Weinig.
2358
2359         Suppressing window geometry changes while any user gesture is active was a bit too restrictive,
2360         and broke legitimate use-cases. Narrow it down to checking EventHandler::mousePressed().
2361
2362         No test yet, adding one is tracked by <http://webkit.org/b/114561>.
2363
2364         * page/DOMWindow.cpp:
2365         (WebCore::DOMWindow::allowedToChangeWindowGeometry):
2366
2367             Added to share code between all DOMWindow functions that alter window geometry.
2368
2369         (WebCore::DOMWindow::moveBy):
2370         (WebCore::DOMWindow::moveTo):
2371         (WebCore::DOMWindow::resizeBy):
2372         (WebCore::DOMWindow::resizeTo):
2373
2374 2013-04-16  Manuel Rego Casasnovas  <rego@igalia.com>
2375
2376         [GTK][EFL] Remove deprecated libsoup API usage
2377         https://bugs.webkit.org/show_bug.cgi?id=104894
2378
2379         Reviewed by Philippe Normand.
2380
2381         Based on a patch by Claudio Saavedra <csaavedra@igalia.com>.
2382         Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
2383         libsoup/soup.h.
2384
2385         * platform/network/ResourceHandleInternal.h:
2386         * platform/network/soup/GOwnPtrSoup.cpp:
2387         * platform/network/soup/ProxyResolverSoup.h:
2388         * platform/network/soup/ResourceErrorSoup.cpp:
2389         * platform/network/soup/ResourceHandleSoup.cpp:
2390         (WebCore::ensureSessionIsInitialized): No need to add the requester
2391         feature.
2392         (WebCore::createSoupRequestAndMessageForHandle): SoupSession has a
2393         requester API, use it.
2394
2395 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
2396
2397         Remove more traces of the now-obsolete support for V8
2398         https://bugs.webkit.org/show_bug.cgi?id=114657
2399
2400         Reviewed by Ryosuke Niwa.
2401
2402         In addition to passing existing tests, I verified that the ElementFactory
2403         and ElementWrapperFactory files were all textually identical before and after.
2404
2405         * dom/CustomEvent.cpp:
2406         (WebCore): Remove Use(V8) bock.
2407         * dom/CustomEvent.h:
2408         (CustomEvent): ditto
2409         * dom/MessageEvent.cpp:
2410         (WebCore::MessageEvent::MessageEvent): ditto
2411         (WebCore::MessageEvent::initMessageEvent): ditto
2412         * dom/Node.h:
2413         (Node): ditto
2414         * dom/make_event_factory.pl:
2415         (generateImplementation): Remove V8 support.
2416         * dom/make_names.pl: Remove gobs of V8 support and simplify.
2417         (printJSElementIncludes): 
2418         (printConditionalElementIncludes):
2419         (printFactoryCppFile):
2420         (printWrapperFunctions):
2421         (printWrapperFactoryCppFile):
2422         (printWrapperFactoryHeaderFile):
2423         * inspector/InjectedScriptCanvasModuleSource.js: Remove V8 stack
2424         trace code.
2425         * platform/qt/PlatformSupport.h: Remove a macro only used for V8 
2426         bindings.
2427         * svg/SVGZoomAndPan.h:
2428         (SVGZoomAndPan): Remove mention of V8 from comment.
2429
2430 2013-04-15  Ryosuke Niwa  <rniwa@webkit.org>
2431
2432         Potential use after free in ApplyStyleCommand::splitAncestorsWithUnicodeBidi
2433         https://bugs.webkit.org/show_bug.cgi?id=114664
2434
2435         Reviewed by Oliver Hunt.
2436
2437         Use RefPtr as needed.
2438
2439         No new tests since this bug was discovered by code inspection.
2440
2441         * editing/ApplyStyleCommand.cpp:
2442         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
2443
2444 2013-04-15  Timothy Hatcher  <timothy@apple.com>
2445
2446         Web Inspector: Make var and function declarations work again in the Console.
2447
2448         https://webkit.org/b/114534
2449         rdar://problem/13614477
2450
2451         Reviewed by Oliver Hunt.
2452
2453         * inspector/InjectedScriptSource.js:
2454         (InjectedScript.prototype._evaluateOn): Use 'with' when not evaluating
2455         on a call frame.
2456
2457 2013-04-15  Seokju Kwon  <seokju.kwon@gmail.com>
2458
2459         Web Inspector: Add missing Localized strings
2460         https://bugs.webkit.org/show_bug.cgi?id=114656
2461
2462         Reviewed by Timothy Hatcher.
2463
2464         No tests because no behavior change is expected.
2465
2466         * English.lproj/localizedStrings.js:
2467
2468 2013-04-15  Dean Jackson  <dino@apple.com>
2469
2470         Rename restartedPlugin to isRestartedPlugin. This was
2471         review feedback from r148038 that I thought I fixed
2472         everywhere but failed.
2473         https://bugs.webkit.org/show_bug.cgi?id=114233
2474
2475         * html/HTMLPlugInElement.h:
2476         (WebCore::HTMLPlugInElement::isRestartedPlugin): Prefix with "is".
2477         * html/HTMLPlugInImageElement.cpp:
2478         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2479         (WebCore::HTMLPlugInImageElement::setDisplayState):
2480         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
2481         * html/HTMLPlugInImageElement.h:
2482         * rendering/RenderEmbeddedObject.cpp:
2483         (WebCore::RenderEmbeddedObject::paintContents):
2484         * rendering/RenderLayerBacking.cpp:
2485         (WebCore::isRestartedPlugin):
2486
2487 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
2488
2489         Remove V8 attribtues from IDLAttributes.txt
2490         https://bugs.webkit.org/show_bug.cgi?id=114651
2491
2492         Reviewed by Sam Weinig.
2493
2494         No tests because no behavior change is expected.
2495
2496         * bindings/scripts/IDLAttributes.txt: Remove V8 attribtues.
2497         * html/track/TextTrackList.idl: Remove a stray V8-specific attribute
2498         (so I guess this change is not useless)
2499
2500 2013-04-15  James Craig  <james@cookiecrook.com>
2501
2502         WebKit should not expose AXSubrole:AXDescriptionList on Mountain Lion as it causes a regression in VoiceOver behavior
2503         https://bugs.webkit.org/show_bug.cgi?id=113975
2504
2505         Reviewed by Chris Fleizach.
2506
2507         Serve NSAccessibilityDescriptionListSubrole or NSAccessibilityDefinitionListSubrole
2508         depending on platform. Updated existing test coverage.
2509
2510         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2511         (-[WebAccessibilityObjectWrapper subrole]):
2512
2513 2013-04-15  Dean Jackson  <dino@apple.com>
2514
2515         Plugins that resize might need to be snapshotted.
2516         https://bugs.webkit.org/show_bug.cgi?id=102157
2517         <rdar://problem/12696259>
2518
2519         Reviewed by Tim Horton.
2520
2521         A plugin could avoid snapshotting if it started very
2522         small (below the threshold where we autostart), and then
2523         resized to be large (above the threshold). Detect this
2524         case and tell the plugin to snapshot.
2525
2526         There unfortunately is a bit of state to track when doing
2527         this. We have to start the snapshotting in a post-layout
2528         task, so we carry a flag to say we're checking size but
2529         not wanting the plugin to update (which would restart it).
2530         We also might be a plugin that would have already restarted
2531         due to a similar plugin being clicked or detected as dominant.
2532         So this patch introduces a member variable that tracks what
2533         decision has been made on snapshotting.
2534
2535         I also added some more logging to be more clear about what is
2536         happening to plugins going through the snapshot process, and
2537         changed the order of the tests in the algorithm so that domain
2538         detection comes before examining the size.
2539
2540         * html/HTMLPlugInImageElement.cpp:
2541         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise
2542             the two new member variables.
2543         (WebCore::HTMLPlugInImageElement::setDisplayState): Mark a restarted
2544             plugin as NeverSnapshot. This means that if it later resizes above the
2545             threshold, it won't trigger the snapshot detection.
2546         (WebCore::HTMLPlugInImageElement::checkSnapshotStatus): Renamed from
2547             updateSnapshotInfo. This now updates the snapshot, but also runs
2548             the check for size changes.
2549         (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Gather all plugins
2550             that look like a restarting plugin, not just those snapshotted. That
2551             way they can all be marked as NeverSnapshot.
2552         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Bless every
2553             plugin that looks similar, whether or not it is snapshotted.
2554         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): More logging.
2555         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Ditto.
2556         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): New
2557             method. If the plugin was below the threshold and is now above it,
2558             begin the snapshotting process.
2559         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Plugins
2560             that were marked as NeverSnapshot should start immediately. Move the origin
2561             test earlier in the method. If a plugin avoided snapshotting due to size,
2562             remember the size.
2563         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Mark the
2564             plugin as NeverSnapshot.
2565
2566         * html/HTMLPlugInImageElement.h:
2567         (HTMLPlugInImageElement): Four new member variables:
2568             - the decision we made regarding snapshotting (or not), uses the SnapshotDecision enum
2569             - the size when it avoided snapshotting
2570             - a flag to indicate the post layout update was triggered due to
2571               a size change
2572         (WebCore::HTMLPlugInImageElement::needsCheckForSizeChange): New method.
2573         (WebCore::HTMLPlugInImageElement::setNeedsCheckForSizeChange): New method.
2574         (WebCore::HTMLPlugInImageElement::snapshotDecision): Return the decision
2575             regarding snapshotting or not snapshotting.
2576
2577         * page/FrameView.cpp:
2578         (WebCore::FrameView::addWidgetToUpdate): Guard updating the widget. We don't
2579             want to do it when we're checking for a size change in the plugin.
2580         (WebCore::FrameView::updateWidget): Call new name.
2581
2582         * plugins/PluginViewBase.h:
2583         (WebCore::PluginViewBase::beginSnapshottingRunningPlugin): Empty virtual
2584             method to snapshot a running plugin.
2585
2586         * rendering/RenderEmbeddedObject.cpp:
2587         (WebCore::RenderEmbeddedObject::layout): If the plugin has increased in
2588             size add it to the post layout list so that it will be checked.
2589
2590 2013-04-15  Chris Fleizach  <cfleizach@apple.com>
2591
2592         activating a focused link to an in-page fragment ID should transfer focus to the target of the link when possible
2593         https://bugs.webkit.org/show_bug.cgi?id=17450
2594
2595         Reviewed by Maciej Stachowiak.
2596
2597         When a fragment is scrolled to due to an activation event or on load, focus should attempt to 
2598         move to the fragment if possible.
2599
2600         Test: fast/dom/fragment-activation-focuses-target.html
2601
2602         * page/FrameView.cpp:
2603         (WebCore::FrameView::scrollToAnchor):
2604
2605 2013-04-12  Maciej Stachowiak  <mjs@apple.com>
2606
2607         Remove V8-specific extended attributes from IDL files
2608         https://bugs.webkit.org/show_bug.cgi?id=114523
2609
2610         Reviewed by Geoffrey Garen.
2611
2612         No tests because no behavior change is expected.
2613
2614         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
2615         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
2616         * Modules/encryptedmedia/MediaKeySession.idl:
2617         * Modules/encryptedmedia/MediaKeys.idl:
2618         * Modules/filesystem/HTMLInputElementFileSystem.idl:
2619         * Modules/indexeddb/IDBAny.idl:
2620         * Modules/mediasource/MediaSource.idl:
2621         * Modules/mediasource/SourceBuffer.idl:
2622         * Modules/mediasource/SourceBufferList.idl:
2623         * Modules/mediastream/MediaStream.idl:
2624         * Modules/webaudio/AudioDestinationNode.idl:
2625         * html/track/TextTrackCue.idl:
2626         * html/track/TextTrackCueList.idl:
2627         * html/track/TextTrackList.idl:
2628         * html/track/TextTrackRegion.idl:
2629         * html/track/TextTrackRegionList.idl:
2630         * html/track/TrackEvent.idl:
2631         * storage/Storage.idl:
2632         * svg/SVGDocument.idl:
2633         * svg/SVGElement.idl:
2634         * workers/WorkerContext.idl:
2635         * xml/XMLHttpRequest.idl:
2636         * xml/XPathNSResolver.idl:
2637
2638 2013-04-15  Anders Carlsson  <andersca@apple.com>
2639
2640         ScriptWrappable subclasses shouldn't have to include WeakInlines.h
2641         https://bugs.webkit.org/show_bug.cgi?id=114641
2642
2643         Reviewed by Alexey Proskuryakov.
2644
2645         Remove ScriptWrappableInlines.h includes, they're not needed anymore.
2646
2647         * css/WebKitCSSMatrix.cpp:
2648         * dom/ClientRect.cpp:
2649         * dom/ClientRectList.cpp:
2650         * dom/Clipboard.cpp:
2651         * dom/DOMStringMap.cpp:
2652         * dom/Event.cpp:
2653         * dom/MutationRecord.cpp:
2654         * fileapi/FileList.cpp:
2655         * page/BarInfo.cpp:
2656         * plugins/DOMMimeTypeArray.cpp:
2657         * plugins/DOMPlugin.cpp:
2658         * plugins/DOMPluginArray.cpp:
2659         * storage/Storage.cpp:
2660
2661 2013-04-15  Igor Oliveira  <igor.o@sisa.samsung.com>
2662
2663         Call directly RenderBlock::deleteLineBoxTree
2664         https://bugs.webkit.org/show_bug.cgi?id=102761
2665
2666         Reviewed by Darin Adler.
2667
2668         Instead of implementing RenderLineBoxList::deleteLineBoxTree logic inside 
2669         RenderBlock::determineStartPosition, we can reuse the code. The commentaries added
2670         in the changeset #86628 are not valid anymore, nextRootBox is casting m_nextLineBox 
2671         and nextLineBox is returning m_nextLineBox.
2672
2673         * rendering/RenderBlockLineLayout.cpp:
2674         (WebCore::RenderBlock::determineStartPosition):
2675
2676 2013-04-15  Anders Carlsson  <andersca@apple.com>
2677
2678         Remove files related to quota and proximity events from the Xcode project
2679         https://bugs.webkit.org/show_bug.cgi?id=114635
2680
2681         Reviewed by Benjamin Poulain.
2682
2683         * WebCore.xcodeproj/project.pbxproj:
2684         * history/PageCache.cpp:
2685         * page/DOMWindow.cpp:
2686
2687 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
2688
2689         [CMake] Add WTF_USE_*_UNICODE variables
2690         https://bugs.webkit.org/show_bug.cgi?id=114556
2691
2692         Reviewed by Brent Fulgham.
2693
2694         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
2695         reduce duplication in the platform specific CMake files.
2696
2697         * CMakeLists.txt:
2698         * PlatformBlackBerry.cmake:
2699         * PlatformEfl.cmake:
2700         * PlatformWinCE.cmake:
2701
2702 2013-04-15  Eric Carlson  <eric.carlson@apple.com>
2703
2704         HTMLMediaElement::removeTextTrack should clear track client
2705         https://bugs.webkit.org/show_bug.cgi?id=114630
2706
2707         Reviewed by Jer Noble.
2708
2709         No new tests, this is clean-up that prevents a potential crash.
2710
2711         * html/HTMLMediaElement.cpp:
2712         (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.
2713
2714 2013-04-15  Robert Hogan  <robert@webkit.org>
2715
2716         An inline element with an absolutely positioned child does not correctly calculate/render padding and margin
2717         https://bugs.webkit.org/show_bug.cgi?id=47554
2718
2719         Reviewed by David Hyatt.
2720
2721         When looking for padding/margin to add from the start of a child's parent skip past any leading positioned siblings as 
2722         we don't add the padding/margin of the common parent when skipping past them in |skipLeadingWhitespace|. We
2723         don't need to worry about the case of trailing positioned objects as we will account for their parent's
2724         border/margin/padding when we encounter them in |nextSegmentBreak|.
2725
2726         Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html
2727
2728         * rendering/RenderBlockLineLayout.cpp:
2729         (WebCore::previousInFlowSibling):
2730         (WebCore):
2731         (WebCore::inlineLogicalWidth):
2732
2733 2013-04-15  peavo@outlook.com  <peavo@outlook.com>
2734
2735         [WinCairo] Compile fix.
2736         https://bugs.webkit.org/show_bug.cgi?id=114623
2737
2738         Reviewed by Brent Fulgham.
2739
2740         * platform/network/curl/CookieJarCurl.cpp: Added required header files.
2741
2742 2013-04-15  Rob Buis  <rbuis@rim.com>
2743
2744         Fix some compiler warnings (miscellaneous)
2745         https://bugs.webkit.org/show_bug.cgi?id=80790
2746
2747         Reviewed by Darin Adler.
2748
2749         It does not seem needed to initialize jpeg_create_compress struct to zero,
2750         all that is needed is set the err field. See for instance SkImageDecoder_libjpeg.cpp.
2751
2752         * platform/image-encoders/JPEGImageEncoder.cpp:
2753         (WebCore::compressRGBABigEndianToJPEG):
2754
2755 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
2756
2757         [GTK] Remove platform specific implementation of KURL::fileSystemPath()
2758         https://bugs.webkit.org/show_bug.cgi?id=114133
2759
2760         Reviewed by Martin Robinson.
2761
2762         r147883 added a generic implementation of this function,
2763         which can be used by all ports to share the code.
2764
2765         * GNUmakefile.list.am:
2766         * platform/KURL.cpp:
2767         (WebCore):
2768         * platform/gtk/KURLGtk.cpp: Removed.
2769
2770 2013-04-15  Csaba Osztrogon√°c  <ossy@webkit.org>
2771
2772         Debug buildfix after r148433.
2773         https://bugs.webkit.org/show_bug.cgi?id=108295
2774
2775         Reviewed by Allan Sandfeld Jensen.
2776
2777         * platform/graphics/texmap/TextureMapperLayer.h:
2778         (WebCore::TextureMapperLayer::children): Added.
2779
2780 2013-04-15  Noam Rosenthal  <noam@webkit.org>
2781
2782         Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene.
2783         https://bugs.webkit.org/show_bug.cgi?id=108295
2784
2785         Since all the changes to the TextureMapperLayer tree now come in a single IPC message via
2786         CoordinatedGraphicsState, we don't need the additional buffering done in GraphicsLayerTextureMapper.
2787
2788         This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
2789         only in WebKit1 (without CoordinatedGraphics).
2790
2791         Reviewed by Allan Sandfeld Jensen.
2792
2793         No new tests, refactor only.
2794
2795         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2796         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2797         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
2798         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
2799         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
2800         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
2801         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
2802         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
2803         (WebCore):
2804         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2805         (GraphicsLayerTextureMapper):
2806             Removed references to m_hasOwnBackingStore, which was done to separate the CoordinatedGraphics
2807             path from the WK1 path.
2808
2809         * platform/graphics/texmap/TextureMapperLayer.h:
2810         (WebCore::TextureMapperLayer::drawsContent):
2811         (WebCore::TextureMapperLayer::contentsAreVisible):
2812         (WebCore::TextureMapperLayer::size):
2813         (WebCore::TextureMapperLayer::opacity):
2814         (WebCore::TextureMapperLayer::transform):
2815         (WebCore::TextureMapperLayer::isShowingRepaintCounter):
2816         (WebCore::TextureMapperLayer::fixedToViewport):
2817         (TextureMapperLayer):
2818             Added a few public functions needed by CoordinatedGraphicsScene.
2819
2820         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2821         (WebCore::layerShouldHaveBackingStore):
2822         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
2823         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
2824         (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
2825         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
2826         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
2827         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
2828         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
2829         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
2830         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
2831         (WebCore::CoordinatedGraphicsScene::setLayerState):
2832         (WebCore::CoordinatedGraphicsScene::getLayerByIDIfExists):
2833         (WebCore::CoordinatedGraphicsScene::createLayer):
2834         (WebCore::CoordinatedGraphicsScene::deleteLayer):
2835         (WebCore::CoordinatedGraphicsScene::setRootLayerID):
2836         (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
2837         (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
2838         (WebCore::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):
2839         (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
2840         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
2841         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
2842         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
2843         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2844         (WebCore::CoordinatedGraphicsScene::commitSceneState):
2845         (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
2846         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
2847         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
2848         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2849         (CoordinatedGraphicsScene):
2850         (WebCore::CoordinatedGraphicsScene::layerByID):
2851         (WebCore::CoordinatedGraphicsScene::rootLayer):
2852             Use TextureMapperLayer instead of GraphicsLayer and GraphicsLayerTextureMapper.
2853
2854 2013-04-15  Antti Koivisto  <antti@apple.com>
2855
2856         Dynamically triggered subframe loads are causing tile churn
2857         https://bugs.webkit.org/show_bug.cgi?id=114440
2858         
2859         Reviewed by Andreas Kling.
2860         
2861         In some cases we switch in and out of minimal tiles multiple times during page loading. This
2862         creates tile churn where we create speculative tiles and then throw them out. This can be
2863         caused by various reasons including dynamically created subframes.
2864
2865         * page/FrameView.cpp:
2866         (WebCore::FrameView::setIsVisuallyNonEmpty):
2867         
2868             Stay in minimal tiles modes until there is some visual contents. This avoids switching out from minimal
2869             tiles while awaiting response for the initial requests.
2870
2871         * page/FrameView.h:
2872         * rendering/RenderLayerBacking.cpp:
2873         (WebCore::RenderLayerBacking::RenderLayerBacking):
2874         (WebCore::computeTileCoverage):
2875         * rendering/RenderLayerBacking.h:
2876         (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
2877         (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
2878         
2879             Only switch into minimal coverage mode once per page load.
2880
2881         (RenderLayerBacking):
2882
2883 2013-04-15  Rune Lillesveen  <rune@opera.com>
2884
2885         color-index media feature not supported
2886         https://bugs.webkit.org/show_bug.cgi?id=114468
2887
2888         Reviewed by Kenneth Rohde Christiansen.
2889
2890         Support the color-index media feature. Currently assumes that no WebKit
2891         browser will have an output device that uses a color lookup table.
2892
2893         Tests: fast/media/mq-color-index-01.html
2894                fast/media/mq-color-index-02.html
2895
2896         * css/MediaFeatureNames.h:
2897         (MediaFeatureNames):
2898         * css/MediaQueryEvaluator.cpp:
2899         (WebCore::color_indexMediaFeatureEval):
2900         (WebCore):
2901         (WebCore::min_color_indexMediaFeatureEval):
2902         (WebCore::max_color_indexMediaFeatureEval):
2903         * css/MediaQueryExp.cpp:
2904         (WebCore::featureWithPositiveInteger):
2905         (WebCore::featureWithoutValue):
2906
2907 2013-04-15  Balazs Kelemen  <kbalazs@webkit.org>
2908
2909         [CoordGfx] Background color should not be part of GraphicsLayerState
2910         https://bugs.webkit.org/show_bug.cgi?id=113785
2911
2912         Page background is independent from layer state, send it to the UI
2913         as soon as possible.
2914
2915         Should not cause observable change in behavior so no new tests.
2916
2917         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2918         (WebCore::CoordinatedGraphicsScene::commitSceneState):
2919         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2920
2921 2013-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2922
2923         [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
2924         https://bugs.webkit.org/show_bug.cgi?id=114610
2925
2926         Reviewed by Xan Lopez.
2927
2928         Override notifyCreateSnapshotFileAndReadMetadata to make sure the
2929         callback is called on the right thread.
2930
2931         Fixes a crash in several fast/filesystem test in debug builds.
2932
2933         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
2934         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
2935         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
2936         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
2937
2938 2013-04-15  Arvid Nilsson  <anilsson@rim.com>
2939
2940         [BlackBerry][CSS Filters] Non-image content disappears when filter applied
2941         https://bugs.webkit.org/show_bug.cgi?id=114498
2942
2943         Reviewed by Carlos Garcia Campos.
2944
2945         Applying a filter to a div with simple text content caused the div to
2946         disappear.
2947
2948         In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
2949         state save/restore code for vertex attributes to make sure the state
2950         changes done by BlackBerry::Platform::Graphics don't interfere with
2951         GL code executing in WebKit. However, saving and restoring vertex
2952         attribute state won't do much good if those attributes were never
2953         enabled to begin with. Fixed by enabling vertex attributes
2954         appropriately when setting them, so that state can be saved and
2955         restored.
2956
2957         All the CSS Filters layout tests apply the filters to simple rectangles
2958         or images, there's nothing sufficiently complex that we manage to
2959         trigger this GL state conflict in the BlackBerry port. This suggests
2960         adding a new platform-specific layout test would be appropriate, but
2961         since we don't use pixel tests yet, such a test would not help detect
2962         regressions. Ultimately we decided against adding a layout test for
2963         this bug at this time.
2964
2965         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
2966         (WebCore::LayerFilterRenderer::applyActions):
2967
2968 2013-04-14  Jaehun Lim  <ljaehun.lim@samsung.com>
2969
2970         [css3-text] Parsing -webkit-hanging value for text-indent from css3-text
2971         https://bugs.webkit.org/show_bug.cgi?id=113680
2972
2973         Reviewed by Andreas Kling.
2974
2975         This patch is the parsing part to support hanging value for text-indent.
2976         "hanging" means "Inverts which lines are affected."
2977         It's prefixed and guarded by CSS3_TEXT flag.
2978
2979         No new tests, this patch updates existing tests.
2980
2981         * css/CSSComputedStyleDeclaration.cpp:
2982         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2983         * css/CSSParser.cpp:
2984         (WebCore::CSSParser::parseTextIndent): Parsed "-webkit-hanging" with "-webkit-each-line".
2985         * css/CSSValueKeywords.in: Added "-webkit-hanging" keyword.
2986         * css/DeprecatedStyleBuilder.cpp:
2987         (WebCore::ApplyPropertyTextIndent::applyInheritValue):
2988         (WebCore::ApplyPropertyTextIndent::applyInitialValue):
2989         (WebCore::ApplyPropertyTextIndent::applyValue):
2990         * rendering/style/RenderStyle.h:
2991         * rendering/style/RenderStyleConstants.h: Added enum TextIndentType.
2992         * rendering/style/StyleRareInheritedData.cpp:
2993         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2994         (WebCore::StyleRareInheritedData::operator==):
2995         * rendering/style/StyleRareInheritedData.h: Added m_textIndentType.
2996         (StyleRareInheritedData):
2997             Added the usual getter / setter / initial methods for m_textIndentType.
2998
2999 2013-04-14  Sam Weinig  <sam@webkit.org>
3000
3001         Move Mac specific snapshotting code into its own file
3002         https://bugs.webkit.org/show_bug.cgi?id=114597
3003
3004         Reviewed by Andreas Kling.
3005
3006         * WebCore.exp.in:
3007         * WebCore.xcodeproj/project.pbxproj:
3008         * bindings/objc/DOM.mm:
3009         (-[DOMRange renderedImageForcingBlackText:]):
3010         * page/Frame.h:
3011         * page/mac/FrameMac.mm:
3012         (WebCore::Frame::nodeImage):
3013         (WebCore::Frame::dragImageForSelection):
3014         * page/mac/FrameSnapshottingMac.h: Added.
3015         * page/mac/FrameSnapshottingMac.mm: Added.
3016         (WebCore::imageFromRect):
3017         (WebCore::selectionImage):
3018         (WebCore::rangeImage):
3019         (WebCore::snapshotDragImage):
3020         * platform/mac/ClipboardMac.mm:
3021         (WebCore::ClipboardMac::dragNSImage):
3022         Move the four Mac specific snapshotting functions in Frame.h into FrameSnapshottingMac.h/mm and turn
3023         them into free standing functions.
3024
3025 2013-04-14  Andreas Kling  <akling@apple.com>
3026
3027         Hawtfix Mac build.
3028
3029         * WebCore.exp.in:
3030
3031 2013-04-14  Andreas Kling  <akling@apple.com>
3032
3033         Only MutableStylePropertySets should be able to have CSSOM wrappers.
3034         <http://webkit.org/b/114595>
3035
3036         Reviewed by Antti Koivisto.
3037
3038         Tighten typing so that only MutableStylePropertySets can have CSSOM wrappers associated.
3039         This allows us to get rid of the out-of-line base class destructor.
3040
3041         * WebCore.exp.in:
3042         * css/StylePropertySet.cpp:
3043         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
3044         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
3045         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
3046         * css/StylePropertySet.h:
3047         (StylePropertySet):
3048         (MutableStylePropertySet):
3049         * dom/StyledElement.cpp:
3050         (WebCore::StyledElement::inlineStyleCSSOMWrapper):
3051
3052 2013-04-14  Andreas Kling  <akling@apple.com>
3053
3054         Remove unused function declaration StylePropertySet::setNeedsStyleRecalc().
3055
3056         Rubber-stamped by Antti Koivisto.
3057
3058         * css/StylePropertySet.h:
3059         (StylePropertySet):
3060
3061 2013-04-14  Andreas Kling  <akling@apple.com>
3062
3063         Move StylePropertySet internal storage access helpers to subclass.
3064         <http://webkit.org/b/114592>
3065
3066         Reviewed by Antti Koivisto.
3067
3068         Removed mutablePropertyVector() since most call sites are inside MutableStylePropertySet
3069         and can access m_propertyVector directly. The few ones that aren't can just cast.
3070
3071         For ImmutableStylePropertySet, moved value/metadata array accessors to the subclass
3072         and remove "immutable" from their names.
3073
3074         * css/StylePropertySet.cpp:
3075         (WebCore::StylePropertySet::immutableCopyIfNeeded):
3076         (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
3077         (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
3078         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
3079         (WebCore::MutableStylePropertySet::removeProperty):
3080         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
3081         (WebCore::MutableStylePropertySet::setProperty):
3082         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
3083         (WebCore::MutableStylePropertySet::parseDeclaration):
3084         (WebCore::MutableStylePropertySet::addParsedProperties):
3085         (WebCore::MutableStylePropertySet::clear):
3086         (WebCore::MutableStylePropertySet::removePropertiesInSet):
3087         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
3088         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
3089         (WebCore::StylePropertySet::reportMemoryUsage):
3090         * css/StylePropertySet.h:
3091         (PropertyReference):
3092         (StylePropertySet):
3093         (ImmutableStylePropertySet):
3094         (WebCore::ImmutableStylePropertySet::valueArray):
3095         (WebCore::ImmutableStylePropertySet::metadataArray):
3096         (WebCore::StylePropertySet::PropertyReference::propertyMetadata):
3097         (WebCore::StylePropertySet::PropertyReference::propertyValue):
3098         (WebCore::StylePropertySet::propertyCount):
3099
3100 2013-04-14  Andreas Kling  <akling@apple.com>
3101
3102         Specialize propertyCount() in StylePropertySet subclasses.
3103         <http://webkit.org/b/114590>
3104
3105         Reviewed by Antti Koivisto.
3106
3107         Avoid branching on m_isMutable in code that already knows which type of set it is.
3108
3109         * css/StylePropertySet.h:
3110         (WebCore::ImmutableStylePropertySet::propertyCount):
3111         (ImmutableStylePropertySet):
3112         (WebCore::MutableStylePropertySet::propertyCount):
3113         (MutableStylePropertySet):
3114
3115 2013-04-14  Andreas Kling  <akling@apple.com>
3116
3117         Move property setting/removing functions to MutableStylePropertySet.
3118         <http://webkit.org/b/114589>
3119
3120         Reviewed by Antti Koivisto.
3121
3122         Move all functions for setting/removing properties from StylePropertySet to MutableStylePropertySet.
3123         Had to change SVGElement::animatedSMILStyleProperties() & friends to hand out MutableStylePropertySet*
3124         which was always the internal type anyway.
3125
3126         * css/StylePropertySet.cpp:
3127         (WebCore::MutableStylePropertySet::removeShorthandProperty):
3128         (WebCore::MutableStylePropertySet::removeProperty):
3129         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
3130         (WebCore::MutableStylePropertySet::setProperty):
3131         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
3132         (WebCore::MutableStylePropertySet::setPrefixingVariantProperty):
3133         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
3134         (WebCore::MutableStylePropertySet::removeBlockProperties):
3135         (WebCore::MutableStylePropertySet::removePropertiesInSet):
3136         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
3137         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
3138         * css/StylePropertySet.h:
3139         (StylePropertySet):
3140         (MutableStylePropertySet):
3141         * editing/ApplyStyleCommand.cpp:
3142         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3143         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3144         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
3145         * editing/EditingStyle.cpp:
3146         (WebCore::EditingStyle::triStateOfStyle):
3147         (WebCore::removePropertiesInStyle):
3148         (WebCore::reconcileTextDecorationProperties):
3149         * svg/SVGAnimateElement.cpp:
3150         (WebCore::applyCSSPropertyToTarget):
3151         * svg/SVGElement.cpp:
3152         (WebCore::SVGElement::animatedSMILStyleProperties):
3153         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
3154         * svg/SVGElement.h:
3155         (SVGElement):
3156         * svg/SVGElementRareData.h:
3157         (WebCore::SVGElementRareData::animatedSMILStyleProperties):
3158         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
3159         (SVGElementRareData):
3160
3161 2013-04-14  Andreas Kling  <akling@apple.com>
3162
3163         EditingStyle should have a MutableStylePropertySet internally.
3164         <http://webkit.org/b/114588>
3165
3166         Reviewed by Anders Carlsson.
3167
3168         Switch EditingStyle::m_mutableStyle to a RefPtr<MutableStylePropertySet>.
3169
3170         * css/StylePropertySet.cpp:
3171         (WebCore::StylePropertySet::copyBlockProperties):
3172         * css/StylePropertySet.h:
3173         (StylePropertySet):
3174         * editing/EditingStyle.cpp:
3175         (WebCore::EditingStyle::setStyle):
3176         (WebCore::EditingStyle::mergeStyleFromRules):
3177         (WebCore::StyleChange::StyleChange):
3178         (WebCore::setTextDecorationProperty):
3179         (WebCore::StyleChange::extractTextStyles):
3180         (WebCore::diffTextDecorations):
3181         (WebCore::getPropertiesNotIn):
3182         * editing/EditingStyle.h:
3183         (WebCore::EditingStyle::style):
3184         (EditingStyle):
3185         (StyleChange):
3186
3187 2013-04-14  Andreas Kling  <akling@apple.com>
3188
3189         Move addParsedProperty/addParsedProperties to MutableStylePropertySet.
3190         <http://webkit.org/b/114587>
3191
3192         Reviewed by Antti Koivisto.
3193
3194         All CSSParser methods that mutate an existing StylePropertySet now take a MutableStylePropertySet*
3195         instead of a StylePropertySet*.
3196
3197         * css/CSSParser.cpp:
3198         (WebCore::parseColorValue):
3199         (WebCore::parseSimpleLengthValue):
3200         (WebCore::parseKeywordValue):
3201         (WebCore::parseTranslateTransformValue):
3202         (WebCore::CSSParser::parseValue):
3203         (WebCore::CSSParser::parseDeclaration):
3204         * css/CSSParser.h:
3205         (CSSParser):
3206         * css/StylePropertySet.cpp:
3207         (WebCore::StylePropertySet::setProperty):
3208         (WebCore::MutableStylePropertySet::addParsedProperties):
3209         (WebCore::MutableStylePropertySet::addParsedProperty):
3210         * css/StylePropertySet.h:
3211         (StylePropertySet):
3212         (MutableStylePropertySet):
3213         * css/ViewportStyleResolver.h:
3214         (ViewportStyleResolver):
3215
3216 2013-04-14  Andreas Kling  <akling@apple.com>
3217
3218         CSSParser should return ImmutableStylePropertySets.
3219         <http://webkit.org/b/114585>
3220
3221         Reviewed by Anders Carlsson.
3222
3223         The StylePropertySets created by CSSParser were already immutable.
3224         Let this be reflected in the pointer types returned.
3225
3226         * css/CSSParser.cpp:
3227         (WebCore::CSSParser::parseInlineStyleDeclaration):
3228         (WebCore::CSSParser::parseDeclaration):
3229         (WebCore::CSSParser::createStylePropertySet):
3230         * css/CSSParser.h:
3231         (CSSParser):
3232
3233 2013-04-14  Andreas Kling  <akling@apple.com>
3234
3235         Move StylePropertySet::createImmutable() to ImmutableStylePropertySet.
3236         <http://webkit.org/b/114584>
3237
3238         Reviewed by Anders Carlsson.
3239
3240         StylePropertySet::createImmutable() -> ImmutableStylePropertySet::create()
3241         Also, immutableCopyIfNeeded() now returns a PassRefPtr<ImmutableStylePropertySet>.
3242
3243         * css/CSSParser.cpp:
3244         (WebCore::CSSParser::createStylePropertySet):
3245         * css/StylePropertySet.cpp:
3246         (WebCore::ImmutableStylePropertySet::create):
3247         (WebCore::StylePropertySet::immutableCopyIfNeeded):
3248         * css/StylePropertySet.h:
3249         (StylePropertySet):
3250         (ImmutableStylePropertySet):
3251
3252 2013-04-14  Andreas Kling  <akling@apple.com>
3253
3254         Move parseDeclaration() and clear() to MutableStylePropertySet.
3255         <http://webkit.org/b/114583>
3256
3257         Reviewed by Anders Carlsson.
3258
3259         ...and remove ASSERT(isMutable()) from the function bodies.
3260
3261         * svg/SVGFontFaceElement.cpp:
3262         (WebCore::SVGFontFaceElement::removedFrom):
3263
3264             Use clear() directly instead of taking an empty string through the CSS parser.
3265
3266         * css/StylePropertySet.cpp:
3267         (WebCore::MutableStylePropertySet::parseDeclaration):
3268         (WebCore::MutableStylePropertySet::clear):
3269         * css/StylePropertySet.h:
3270         (StylePropertySet):
3271         (MutableStylePropertySet):
3272         * dom/StyledElement.cpp:
3273         (WebCore::StyledElement::setInlineStyleFromString):
3274
3275 2013-04-14  Andreas Kling  <akling@apple.com>
3276
3277         Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
3278         <http://webkit.org/b/114581>
3279
3280         Reviewed by Anders Carlsson.
3281
3282         Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
3283         to MutableStylePropertySet.
3284
3285         StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...
3286
3287         CSSStyleDeclaration now only deals with MutableStylePropertySets. This was already the case
3288         in practice, we just didn't have any compile-time foot-shooting protection.
3289         In other words, if there's a CSSOM wrapper for a given StylePropertySet, it's guaranteed to
3290         be mutable, and the pointer types now reflect this.
3291
3292         * WebCore.exp.in:
3293         * css/PropertySetCSSStyleDeclaration.cpp:
3294         (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
3295         (WebCore::StyleRuleCSSStyleDeclaration::reattach):
3296         * css/PropertySetCSSStyleDeclaration.h:
3297         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
3298         (PropertySetCSSStyleDeclaration):
3299         (WebCore::StyleRuleCSSStyleDeclaration::create):
3300         (StyleRuleCSSStyleDeclaration):
3301         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
3302         * css/StylePropertySet.cpp:
3303         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
3304         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
3305         * css/StylePropertySet.h:
3306         (StylePropertySet):
3307         (MutableStylePropertySet):
3308         * css/StyleRule.cpp:
3309         (WebCore::StyleRule::mutableProperties):
3310         (WebCore::StyleRulePage::mutableProperties):
3311         (WebCore::StyleRuleFontFace::mutableProperties):
3312         (WebCore::StyleRuleViewport::mutableProperties):
3313         (WebCore::StyleRuleFilter::mutableProperties):
3314         * css/StyleRule.h:
3315         (StyleRule):
3316         (StyleRuleFontFace):
3317         (StyleRulePage):
3318         (StyleRuleViewport):
3319         (StyleRuleFilter):
3320         * css/WebKitCSSKeyframeRule.cpp:
3321         (WebCore::StyleKeyframe::mutableProperties):
3322         * css/WebKitCSSKeyframeRule.h:
3323         (StyleKeyframe):
3324         * dom/Attr.cpp:
3325         (WebCore::Attr::style):
3326         * dom/Attr.h:
3327         (Attr):
3328         * editing/EditingStyle.cpp:
3329         (WebCore::EditingStyle::removeStyleAddedByNode):
3330         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
3331         (WebCore::EditingStyle::triStateOfStyle):
3332         (WebCore::styleFromMatchedRulesForElement):
3333         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
3334         * editing/FrameSelection.cpp:
3335         (WebCore::FrameSelection::copyTypingStyle):
3336         * editing/FrameSelection.h:
3337         * inspector/InspectorCSSAgent.cpp:
3338         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
3339
3340 2013-04-14  Andreas Kling  <akling@apple.com>
3341
3342         Move create() methods from StylePropertySet to MutableStylePropertySet.
3343         <http://webkit.org/b/114574>
3344
3345         Reviewed by Antti Koivisto.
3346
3347         Move the two create() methods that create MutableStylePropertySets from StylePropertySet
3348         to MutableStylePropertySet, and make them actually return MutableStylePropertySets.
3349         Switch to using {Pass,}RefPtr<MutableStylePropertySet> where appropriate to keep things building.
3350
3351         * css/CSSComputedStyleDeclaration.cpp:
3352         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
3353         * css/CSSParser.cpp:
3354         (WebCore::CSSParser::parseFontFaceValue):
3355         * css/DOMWindowCSS.cpp:
3356         (WebCore::DOMWindowCSS::supports):
3357         * css/ElementRuleCollector.cpp:
3358         (WebCore::leftToRightDeclaration):
3359         (WebCore::rightToLeftDeclaration):
3360         * css/FontLoader.cpp:
3361         (WebCore::FontLoader::resolveFontStyle):
3362         * css/StylePropertySet.cpp:
3363         (WebCore::StylePropertySet::copyPropertiesInSet):
3364         (WebCore::MutableStylePropertySet::create):
3365         * css/StylePropertySet.h:
3366         (StylePropertySet):
3367         (MutableStylePropertySet):
3368         * css/StyleResolver.cpp:
3369         (WebCore::StyleResolver::resolveVariables):
3370         * css/WebKitCSSMatrix.cpp:
3371         (WebCore::WebKitCSSMatrix::setMatrixValue):
3372         * dom/Attr.cpp:
3373         (WebCore::Attr::style):
3374         * dom/Document.cpp:
3375         (WebCore::Document::createCSSStyleDeclaration):
3376         * dom/StyledElement.cpp:
3377         (WebCore::StyledElement::ensureMutableInlineStyle):
3378         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
3379         * editing/ApplyStyleCommand.cpp:
3380         (WebCore::copyStyleOrCreateEmpty):
3381         * editing/EditingStyle.cpp:
3382         (WebCore::editingStyleFromComputedStyle):
3383         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
3384         (WebCore::EditingStyle::setProperty):
3385         (WebCore::EditingStyle::extractAndRemoveTextDirection):
3386         (WebCore::styleFromMatchedRulesForElement):
3387         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
3388         (WebCore::EditingStyle::forceInline):
3389         * editing/Editor.cpp:
3390         (WebCore::Editor::setBaseWritingDirection):
3391         * editing/EditorCommand.cpp:
3392         (WebCore::executeApplyStyle):
3393         (WebCore::executeToggleStyleInList):
3394         (WebCore::executeApplyParagraphStyle):
3395         (WebCore::executeMakeTextWritingDirectionLeftToRight):
3396         (WebCore::executeMakeTextWritingDirectionNatural):
3397         (WebCore::executeMakeTextWritingDirectionRightToLeft):
3398         * html/HTMLTableElement.cpp:
3399         (WebCore::leakBorderStyle):
3400         (WebCore::HTMLTableElement::createSharedCellStyle):
3401         (WebCore::leakGroupBorderStyle):
3402         * html/canvas/CanvasRenderingContext2D.cpp:
3403         (WebCore::CanvasRenderingContext2D::setFont):
3404         * inspector/InspectorStyleSheet.cpp:
3405         (WebCore::InspectorStyle::setPropertyText):
3406         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
3407         * page/DragController.cpp:
3408         (WebCore::DragController::concludeEditDrag):
3409         * svg/SVGElementRareData.h:
3410         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
3411         * svg/SVGFontFaceElement.cpp:
3412         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3413         * svg/SVGStyledElement.cpp:
3414         (WebCore::SVGStyledElement::getPresentationAttribute):
3415
3416 2013-04-13  Sam Weinig  <sam@webkit.org>
3417
3418         Fix three crashes seen on the bots after "Make Frame's ScriptController an OwnPtr and remove the #include"
3419
3420         * xml/XMLHttpRequest.cpp:
3421         (WebCore::XMLHttpRequest::open):
3422         Check that the frame is not null (as it can be in cases like http/tests/xmlhttprequest/detaching-frame-2.html).
3423         We used to be getting lucky, in that shouldBypassMainWorldContentSecurityPolicy(), the function that is ultimately
3424         called, only operates on global state. Now that we need to actually dereference the Frame to get the ScriptController,
3425         we see this crash.
3426
3427 2013-04-13  Sukolsak Sakshuwong  <sukolsak@gmail.com>
3428
3429         Selection direction is not preserved when applying styles
3430         https://bugs.webkit.org/show_bug.cgi?id=110979
3431
3432         Reviewed by Ryosuke Niwa.
3433
3434         The patch is based on the one submitted by Shezan Baig.
3435
3436         If the starting selection was directional and its base was not first,
3437         switch newStart and newEnd when setting the ending direction. Otherwise,
3438         leave the order unchanged.
3439
3440         Test: editing/style/preserve-selection-direction.html
3441
3442         * editing/ApplyStyleCommand.cpp:
3443         (WebCore::ApplyStyleCommand::updateStartEnd):
3444
3445 2013-04-13  Alexey Proskuryakov  <ap@apple.com>
3446
3447         Added svn:ignore for inspector/CodeGeneratorInspectorStrings.pyc
3448
3449         * inspector: Added property svn:ignore.
3450
3451 2013-04-13  Sam Weinig  <sam@webkit.org>
3452
3453         Make Frame's ScriptController an OwnPtr and remove the #include
3454         https://bugs.webkit.org/show_bug.cgi?id=114105
3455
3456         Reviewed by Dean Jackson.
3457
3458         * Modules/websockets/WebSocket.cpp:
3459         * bindings/generic/BindingSecurity.cpp:
3460         * bindings/js/JSEventListener.cpp:
3461         * bindings/js/JSLazyEventListener.cpp:
3462         * bindings/js/PageScriptDebugServer.cpp:
3463         * bindings/js/ScriptEventListener.cpp:
3464         * bindings/js/ScriptState.cpp:
3465         * bindings/objc/DOM.mm:
3466         * bindings/objc/DOMAbstractView.mm:
3467         * bindings/objc/DOMInternal.mm:
3468         * dom/DocumentStyleSheetCollection.cpp:
3469         * dom/EventTarget.cpp:
3470         * dom/ScriptElement.cpp:
3471         * history/CachedFrame.cpp:
3472         * html/HTMLCanvasElement.cpp:
3473         * html/HTMLDocument.cpp:
3474         * html/HTMLElement.cpp:
3475         * html/HTMLFormElement.cpp:
3476         * html/HTMLPlugInElement.cpp:
3477         * html/HTMLPlugInImageElement.cpp:
3478         * html/parser/HTMLParserOptions.cpp:
3479         * inspector/InspectorAgent.cpp:
3480         * inspector/InspectorController.cpp:
3481         * inspector/InspectorFrontendClientLocal.cpp:
3482         * inspector/InspectorFrontendHost.cpp:
3483         * inspector/InspectorInstrumentation.cpp:
3484         * inspector/InspectorOverlay.cpp:
3485         * inspector/InspectorPageAgent.cpp:
3486         * inspector/PageRuntimeAgent.cpp:
3487         * loader/DocumentWriter.cpp:
3488         * loader/NavigationScheduler.cpp:
3489         * loader/SubframeLoader.cpp:
3490         * loader/cache/CachedResourceLoader.cpp:
3491         * page/DOMWindow.cpp:
3492         * page/EventSource.cpp:
3493         * page/Frame.cpp:
3494         * page/Frame.h:
3495         * page/Navigator.cpp:
3496         * page/Page.cpp:
3497         * page/PageGroup.cpp:
3498         * xml/XMLHttpRequest.cpp:
3499         * xml/XMLTreeViewer.cpp:
3500
3501 2013-04-13  Anders Carlsson  <andersca@apple.com>
3502
3503         Add form delegate method that's invoked right before sending a submit event to a form element
3504         https://bugs.webkit.org/show_bug.cgi?id=114575
3505
3506         Reviewed by Dan Bernstein.
3507
3508         * WebCore.exp.in:
3509         Export a symbol.
3510
3511         * WebCore.xcodeproj/project.pbxproj:
3512         Make DOMHTMLFormElementInternal.h a private header.
3513
3514 2013-03-13  Robert Hogan  <robert@webkit.org>
3515
3516         Whitespace between nowrap elements ignored after collapsed trailing space in a text run
3517         https://bugs.webkit.org/show_bug.cgi?id=17705
3518
3519         Reviewed by Ryosuke Niwa.
3520
3521         Bug 93448 and r138654 fixed the treatment of line-breaks between nowrap elements. This augments
3522         that fix by recognizing that we have a potential break not only in situations where the next character is a 
3523         space and the current character is not, but also where the next character is a space and the current character 
3524         *is* a space *and* we are ignoring spaces. This is so because any spaces we have ignored up to this point 
3525         after the actual word end will get collapsed away even if we don't end up taking the line break. 
3526
3527         In a nutshell, if we allow whitespace collapsing 'word  ' and 'word' are equivalent when before a whitespace
3528         character, so treat the first as well as the second as a potential linebreak.
3529
3530         Test: fast/text/whitespace/inline-whitespace-wrapping-5.html
3531
3532         * rendering/RenderBlockLineLayout.cpp:
3533         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3534
3535 2013-04-13  Andreas Kling  <akling@apple.com>
3536
3537         Rename/tweak some StylePropertySet/CSSStyleDeclaration copying functions.
3538         <http://webkit.org/b/114569>
3539
3540         Reviewed by Anders Carlsson.
3541
3542         - StylePropertySet::copy() -> mutableCopy()
3543
3544             This function now returns a MutableStylePropertySet, and this is also reflected in the name.
3545
3546         - CSSStyleDeclaration::copy() -> copyProperties()
3547
3548             Renamed to reflect that it's the properties being copied, not the CSSStyleDeclaration.
3549             They also now return MutableStylePropertySets.
3550
3551         - StylePropertySet::copyPropertiesInSet()
3552         - CSSStyleDeclaration::copyPropertiesInSet()
3553
3554             These functions now return MutableStylePropertySets.
3555
3556         * css/CSSComputedStyleDeclaration.cpp:
3557         (WebCore::CSSComputedStyleDeclaration::copyProperties):
3558         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
3559         * css/CSSComputedStyleDeclaration.h:
3560         (CSSComputedStyleDeclaration):
3561         * css/CSSStyleDeclaration.h:
3562         (CSSStyleDeclaration):
3563         * css/PropertySetCSSStyleDeclaration.cpp:
3564         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
3565         * css/PropertySetCSSStyleDeclaration.h:
3566         * css/StylePropertySet.cpp:
3567         (WebCore::StylePropertySet::mutableCopy):
3568         (WebCore::StylePropertySet::copyPropertiesInSet):
3569         * css/StylePropertySet.h:
3570         (StylePropertySet):
3571         * css/StyleRule.cpp:
3572         (WebCore::StyleRule::StyleRule):
3573         (WebCore::StyleRule::mutableProperties):
3574         (WebCore::StyleRulePage::StyleRulePage):
3575         (WebCore::StyleRulePage::mutableProperties):
3576         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
3577         (WebCore::StyleRuleFontFace::mutableProperties):
3578         (WebCore::StyleRuleViewport::StyleRuleViewport):
3579         (WebCore::StyleRuleViewport::mutableProperties):
3580         (WebCore::StyleRuleFilter::StyleRuleFilter):
3581         (WebCore::StyleRuleFilter::mutableProperties):
3582         * css/ViewportStyleResolver.cpp:
3583         (WebCore::ViewportStyleResolver::addViewportRule):
3584         * css/WebKitCSSKeyframeRule.cpp:
3585         (WebCore::StyleKeyframe::mutableProperties):
3586         * dom/Element.cpp:
3587         (WebCore::UniqueElementData::UniqueElementData):
3588         * dom/StyledElement.cpp:
3589         (WebCore::StyledElement::ensureMutableInlineStyle):
3590         * editing/ApplyStyleCommand.cpp:
3591         (WebCore::copyStyleOrCreateEmpty):
3592         * editing/EditingStyle.cpp:
3593         (WebCore::copyEditingProperties):
3594         (WebCore::editingStyleFromComputedStyle):
3595         (WebCore::EditingStyle::EditingStyle):
3596         (WebCore::EditingStyle::init):
3597         (WebCore::EditingStyle::copy):
3598         (WebCore::EditingStyle::mergeStyle):
3599         (WebCore::getPropertiesNotIn):
3600         * editing/FrameSelection.cpp:
3601         (WebCore::FrameSelection::copyTypingStyle):
3602
3603 2013-04-13  Dirk Schulze  <krit@webkit.org>
3604
3605         Rename StyleBuilder to DeprecatedStyleBuilder
3606         https://bugs.webkit.org/show_bug.cgi?id=114532
3607
3608         Reviewed by Benjamin Poulain.
3609
3610         The StyleBuilder code is hard to read and maintain. People should
3611         not add new properties to this class. To make this clear, this
3612         patch renames the class to DeprecatedStyleBuilder.
3613
3614         Pure refactoring, no change in functionality.
3615
3616         * CMakeLists.txt:
3617         * GNUmakefile.list.am:
3618         * Target.pri:
3619         * WebCore.vcproj/WebCore.vcproj:
3620         * WebCore.vcxproj/WebCore.vcxproj.filters:
3621         * WebCore.xcodeproj/project.pbxproj:
3622         * css/CSSAllInOne.cpp:
3623         * css/DeprecatedStyleBuilder.cpp: Renamed from Source/WebCore/css/StyleBuilder.cpp.
3624         * css/DeprecatedStyleBuilder.h: Renamed from Source/WebCore/css/StyleBuilder.h.
3625         * css/StyleResolver.cpp:
3626         (WebCore::StyleResolver::StyleResolver):
3627         (WebCore::StyleResolver::applyProperty):
3628         (WebCore::StyleResolver::reportMemoryUsage):
3629         * css/StyleResolver.h:
3630         (StyleResolver):
3631         * rendering/style/RenderStyle.h:
3632
3633 2013-04-13  Andreas Kling  <akling@apple.com>
3634
3635         Remove unused method CSSStyleDeclaration::makeMutable().
3636         <http://webkit.org/b/114567>
3637
3638         Reviewed by Anders Carlsson.
3639
3640         * css/CSSComputedStyleDeclaration.cpp:
3641         * css/CSSComputedStyleDeclaration.h:
3642         (CSSComputedStyleDeclaration):
3643         * css/CSSStyleDeclaration.h:
3644         (CSSStyleDeclaration):
3645         * css/PropertySetCSSStyleDeclaration.cpp:
3646         * css/PropertySetCSSStyleDeclaration.h:
3647
3648 2013-04-13  Antoine Quint  <graouts@apple.com>
3649
3650         Width of last of consecutive tabs may be incorrect with "white-space: pre-wrap"
3651         https://bugs.webkit.org/show_bug.cgi?id=114562
3652
3653         Reviewed by Dan Bernstein.
3654
3655         When we measure the last word of a RenderText, make sure we use the correct x
3656         position taking into account the current accumulated word measurements up to
3657         this character. This is of particular importance in the case of tabs where the
3658         measured width would differ based on the x position.
3659
3660         Test: fast/text/tab-last-word-in-renderer-pre-wrap.html
3661
3662         * rendering/RenderBlockLineLayout.cpp:
3663         (WebCore::setLogicalWidthForTextRun):
3664
3665 2013-04-13  Mark Salisbury  <mark.salisbury@hp.com>
3666
3667         [Windows, WinCairo] ImageBufferCairo.cpp fails to compile after 148247, 148264.
3668         https://bugs.webkit.org/show_bug.cgi?id=114540
3669         
3670         Reviewed by Brent Fulgham.
3671
3672         * platform/graphics/cairo/ImageBufferCairo.cpp:
3673
3674 2013-04-13  Zan Dobersek  <zdobersek@igalia.com>
3675
3676         Unreviewed GTK build fix after r148305.
3677
3678         * GNUmakefile.list.am: Adding the TrackListBase build targets to the build.
3679
3680 2013-04-09  Roger Fong  <roger_fong@apple.com>
3681
3682         Update AVFoundationCF code following http://trac.webkit.org/changeset/148291.
3683         https://bugs.webkit.org/show_bug.cgi?id=114548.
3684
3685         Reviewed by Eric Carlson.
3686
3687         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3688         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
3689         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
3690         (WebCore):
3691         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
3692         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
3693         (MediaPlayerPrivateAVFoundationCF):
3694
3695 2013-04-12  Simon Fraser  <simon.fraser@apple.com>
3696
3697         Demystify some code in RenderLayer::updateScrollableAreaSet()
3698         https://bugs.webkit.org/show_bug.cgi?id=114543
3699
3700         Reviewed by Tim Horton.
3701
3702         Clean up some code that called functions with important side effects
3703         inside a ternary operator, and clean up the #ifdefs.
3704
3705         * rendering/RenderLayer.cpp:
3706         (WebCore::RenderLayer::updateScrollableAreaSet):
3707
3708 2013-04-12  Alexey Proskuryakov  <ap@apple.com>
3709
3710         <rdar://problem/13277362> REGRESSION (r141981): Crash when closing a Google Docs document
3711         https://bugs.webkit.org/show_bug.cgi?id=114541
3712
3713         Reviewed by Brady Eidson.
3714
3715         Test: http/tests/ssl/ping-with-unsafe-redirect.html
3716
3717         * loader/FrameNetworkingContext.h:
3718         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
3719         Added a null check. All NetworkingContext functions except for this one had it already.
3720
3721 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
3722
3723         [Mac] REGRESSION: Auto substitution strips new lines
3724         https://bugs.webkit.org/show_bug.cgi?id=114537
3725
3726         Reviewed by Enrica Casucci.
3727
3728         The bug was caused by SpellingCorrectionCommand's use of InsertTextCommand. This command can't insert
3729         new lines and there's even an assertion for it. Use TypingCommand::insertText instead.
3730
3731         Since TypingCommand::insertText calls appliedEditing on its own, we need to avoid calling that again in
3732         CompositeEditCommand::apply after SpellingCorrectionCommand::doApply. Replaced the check in apply to use
3733         callsAppliedEditingInDoApply instead of isTypingCommand, and added callsAppliedEditingInDoApply to both
3734         TypingCommand and SpellingCorrectionCommand to return true (it returns false by default).
3735
3736         Test: platform/mac/editing/spelling/autocorrection-with-multi-line-text.html
3737
3738         * editing/CompositeEditCommand.cpp:
3739         (WebCore::CompositeEditCommand::apply): Use TypingCommand::insertText instead of InsertTextCommand
3740         (WebCore::CompositeEditCommand::callsAppliedEditingInDoApply): Added. Returns false.
3741         * editing/CompositeEditCommand.h:
3742         (CompositeEditCommand):
3743         * editing/SpellingCorrectionCommand.cpp:
3744         (WebCore::SpellingCorrectionCommand::doApply):
3745         (WebCore::SpellingCorrectionCommand::callsAppliedEditingInDoApply): Added. Returns true.
3746         * editing/SpellingCorrectionCommand.h:
3747         (SpellingCorrectionCommand):
3748         * editing/TypingCommand.cpp:
3749         (WebCore::TypingCommand::callsAppliedEditingInDoApply): Added. Returns true.
3750         * editing/TypingCommand.h:
3751         (TypingCommand):
3752
3753 2013-04-12  Brendan Long  <b.long@cablelabs.com>
3754
3755         Refactor TextTrack and TextTrackList to make it easier to add audio and video tracks
3756         https://bugs.webkit.org/show_bug.cgi?id=114330
3757
3758         Reviewed by Jer Noble.
3759
3760         No new tests because this doesn't add new functionality.
3761
3762         * CMakeLists.txt: Only compile text track files if ENABLE(VIDEO_TRACK), and add TrackListBase
3763         * Target.pri: Add TrackListBase
3764         * WebCore.vcproj/WebCore.vcproj: Correct InbandTextTrackPrivate.h's location and add TrackListBase
3765         * WebCore.xcodeproj/project.pbxproj: Add TrackListBase
3766         * html/HTMLMediaElement.cpp: Renamed "track" functions to "textTrack"
3767         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Renamed.
3768         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTextTrack): Renamed.
3769         (WebCore::HTMLMediaElement::addTextTrack): Renamed.
3770         (WebCore::HTMLMediaElement::removeTextTrack): Renamed.
3771         (WebCore::HTMLMediaElement::removeAllInbandTracks): Use renamed functions.
3772         (WebCore::HTMLMediaElement::didAddTextTrack): Renamed.
3773         (WebCore::HTMLMediaElement::didRemoveTextTrack): Renamed.
3774         * html/HTMLMediaElement.h:
3775         Renamed "track" functions to "textTrack" and only forward-declare TextTrackList if ENABLE(VIDEO_TRACK)
3776         * html/HTMLTrackElement.cpp: Renamed "track" functions to "textTrack"
3777         (WebCore::HTMLTrackElement::insertedInto):
3778         (WebCore::HTMLTrackElement::removedFrom):
3779         * html/track/TextTrack.cpp:
3780         Move media element, label, language and kind into TrackBase and move EventTarget functions into TextTrack.
3781         (WebCore::TextTrack::TextTrack): Added.
3782         (WebCore::TextTrack::interfaceName): Added.
3783         (WebCore::TextTrack::scriptExecutionContext): Added.
3784         (WebCore::TextTrack::eventTargetData): Added.
3785         (WebCore::TextTrack::ensureEventTargetData): Added.
3786         (WebCore::TextTrack::isValidKind): Added to support TrackBase::setKind()
3787         (WebCore::TextTrack::setKind): Override to support textTrackKindChanged()
3788         (WebCore::TextTrack::isRendered): Use kind(), label() and language() instead of m_kind, etc.
3789         (WebCore::TextTrack::platformTextTrack): Ditto.
3790         (WebCore::TextTrack::isMainProgramContent): Ditto.
3791         * html/track/TextTrack.h:
3792         Same as TextTrack.cpp, plus added defaultKindKeyword() so TrackBase::setKind() will work and added
3793         toTextTrack().
3794         * html/track/TextTrackList.cpp:
3795         Move functionality into TrackListBase, add toTextTrack() casts, use
3796         TrackBase where necesssary and use owner() instead of m_owner.
3797
3798         Moved EventTarget functions into TrackListBase.
3799         (TextTrackList::TextTrackList):
3800         (TextTrackList::getTrackIndexRelativeToRenderedTracks):
3801         (TextTrackList::item):
3802         (TextTrackList::invalidateTrackIndexesAfterTrack):
3803         (TextTrackList::append):
3804         (TextTrackList::remove):
3805         (TextTrackList::contains):
3806         * html/track/TextTrackList.h:
3807         Move EventTarget, RefCounted and m_inbandTracks into TrackListBase.
3808         Override length(), contains() and remove().
3809         * html/track/TrackBase.cpp: Remove EventTarget functions.
3810         (WebCore::TrackBase::TrackBase):
3811         Remove EventTarget, add label and language
3812         (WebCore::TrackBase::setKind): Added
3813         * html/track/TrackBase.h:
3814         Don't extend EventTarget (AudioTrack and VideoTrack aren't). Handle
3815         kind, label, language and media element.
3816         (WebCore::TrackBase::setMediaElement): Added.
3817         (WebCore::TrackBase::mediaElement): Added.
3818         (WebCore::TrackBase::kind): Added.
3819         (WebCore::TrackBase::label): Added.
3820         (WebCore::TrackBase::setLabel): Added.
3821         (WebCore::TrackBase::language): Added.
3822         (WebCore::TrackBase::setLanguage): Added.
3823         * html/track/TrackListBase.cpp:
3824         Added. Handles functionality common to TextTrackList, AudioTrackList and
3825         VideoTrackList.
3826         (TrackListBase::TrackListBase): Added.
3827         (TrackListBase::~TrackListBase): Added.
3828         (TrackListBase::length): Added.
3829         (TrackListBase::remove): Added.
3830         (TrackListBase::contains): Added.
3831         (TrackListBase::scheduleAddTrackEvent): Added.
3832         (TrackListBase::scheduleRemoveTrackEvent): Added.
3833         (TrackListBase::scheduleChangeEvent): Added.
3834         (TrackListBase::asyncEventTimerFired): Added.
3835         * html/track/TrackListBase.h:
3836         Copied from Source/WebCore/html/track/TextTrackList.h. Handles
3837         functionality common to TextTrackList, AudioTrackList and VideoTrackList.
3838         (WebCore::TrackListBase::scriptExecutionContext): Added.
3839         (WebCore::TrackListBase::clearOwner): Added.
3840         (WebCore::TrackListBase::owner): Added.
3841         (WebCore::TrackListBase::isFiringEventListeners): Added.
3842         * platform/graphics/MediaPlayer.cpp:
3843         (WebCore::MediaPlayer::addTextTrack): Renamed (was addTrack)
3844         (WebCore::MediaPlayer::removeTextTrack): Renamed (was removeTrack)
3845         * platform/graphics/MediaPlayer.h:
3846         (WebCore::MediaPlayerClient::mediaPlayerDidAddTextTrack): Renamed (was mediaPlayerDidAddTrack)
3847         (WebCore::MediaPlayerClient::mediaPlayerDidRemoveTextTrack): Renamed (was mediaPlayerDidRemoveTrack)
3848
3849 2013-04-12  Oliver Hunt  <oliver@apple.com>
3850
3851         make the codegenerator actually emit polymorphism check in the "no vtable" path
3852         https://bugs.webkit.org/show_bug.cgi?id=114533
3853
3854         Reviewed by David Kilzer.
3855
3856         Make the "no vtable" check correct so that we actually plant a polymorphism
3857         check.  Update a few interfaces to have the correct validation attributes.        
3858
3859         * Modules/webdatabase/SQLTransaction.idl:
3860         * bindings/scripts/CodeGeneratorJS.pm:
3861         (GenerateImplementation):
3862         * bindings/scripts/test/JS/JSTestInterface.cpp:
3863         (WebCore::toJS):
3864         * bindings/scripts/test/TestInterface.idl:
3865         * html/track/TextTrackCue.idl:
3866         * svg/SVGAnimatedAngle.idl:
3867         * svg/SVGAnimatedBoolean.idl:
3868         * svg/SVGAnimatedEnumeration.idl:
3869         * svg/SVGAnimatedInteger.idl:
3870         * svg/SVGAnimatedLength.idl:
3871         * svg/SVGAnimatedLengthList.idl:
3872         * svg/SVGAnimatedNumber.idl:
3873         * svg/SVGAnimatedNumberList.idl:
3874         * svg/SVGAnimatedPreserveAspectRatio.idl:
3875         * svg/SVGAnimatedRect.idl:
3876         * svg/SVGAnimatedString.idl:
3877         * svg/SVGAnimatedTransformList.idl:
3878
3879 2013-04-12  Oliver Hunt  <oliver@apple.com>
3880
3881         Make CodeGeneratorJS plant comments to explain failures in the binding validation
3882         https://bugs.webkit.org/show_bug.cgi?id=114528
3883
3884         Reviewed by Sam Weinig.
3885
3886         No change in behaviour, just make the generated bindings include comments
3887         to aid diagnosing issues that may be non-obvious.
3888
3889         * bindings/scripts/CodeGeneratorJS.pm:
3890         (GenerateImplementation):
3891         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3892         (WebCore::toJS):
3893         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3894         (WebCore::toJS):
3895         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3896         (WebCore::toJS):
3897         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3898         (WebCore::toJS):
3899         * bindings/scripts/test/JS/JSTestException.cpp:
3900         (WebCore::toJS):
3901         * bindings/scripts/test/JS/JSTestInterface.cpp:
3902         (WebCore::toJS):
3903         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3904         (WebCore::toJS):
3905         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3906         (WebCore::toJS):
3907         * bindings/scripts/test/JS/JSTestObj.cpp:
3908         (WebCore::toJS):
3909         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3910         (WebCore::toJS):
3911         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3912         (WebCore::toJS):
3913         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3914         (WebCore::toJS):
3915
3916 2013-04-12  Tim Horton  <timothy_horton@apple.com>
3917
3918         REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
3919         https://bugs.webkit.org/show_bug.cgi?id=108864
3920         <rdar://problem/13140489>
3921
3922         Reviewed by Antti Koivisto.
3923
3924         * loader/cache/CachedImage.cpp:
3925         (WebCore::CachedImage::resumeAnimatingImagesForLoader): Added.
3926         Iterate through all of the loader's cached resources. If they are bitmap images
3927         which claim to be animatable, notify the image's observers that the animation advanced
3928         by one frame. In reality, the image is still on the same frame, but will now be repainted,
3929         restarting the animation loop.
3930         * loader/cache/CachedImage.h:
3931         * page/FrameView.cpp:
3932         (WebCore::FrameView::setIsInWindow):
3933         When the FrameView is brought into a window, repaint all animated images.
3934         * platform/graphics/BitmapImage.cpp:
3935         (WebCore::BitmapImage::canAnimate): Added. 
3936         Return whether or not the image should animate (claims to animate, has not already
3937         finished its animation, and has an ImageObserver) *and* has more than one frame.
3938         * platform/graphics/BitmapImage.h:
3939         (BitmapImage): Add canAnimate.
3940
3941 2013-04-12  Martin Robinson  <mrobinson@igalia.com>
3942
3943         r148197 broke the GTK+ build
3944         https://bugs.webkit.org/show_bug.cgi?id=114525
3945
3946         Reviewed by Anders Carlsson.
3947
3948         Re-add the ENABLE(SCROLLING_THREAD) guards to scrolling thread files
3949         and extend them with USE(COORDINATED_GRAPHICS). This code is unused
3950         by other configurations currently.
3951
3952         * page/scrolling/ScrollingStateFixedNode.cpp: Re-add guards.
3953         * page/scrolling/ScrollingStateFixedNode.h: Ditto.
3954         * page/scrolling/ScrollingStateNode.cpp: Ditto.
3955         * page/scrolling/ScrollingStateNode.h: Ditto.
3956         * page/scrolling/ScrollingStateScrollingNode.cpp: Ditto.
3957         * page/scrolling/ScrollingStateScrollingNode.h: Ditto.
3958         * page/scrolling/ScrollingStateStickyNode.cpp: Ditto.
3959         * page/scrolling/ScrollingStateStickyNode.h: Ditto.
3960         * page/scrolling/ScrollingStateTree.cpp: Ditto.
3961         * page/scrolling/ScrollingStateTree.h: Ditto.
3962         * page/scrolling/mac/ScrollingStateNodeMac.mm: Ditto.
3963         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm: Ditto.
3964
3965 2013-04-12  Jer Noble  <jer.noble@apple.com>
3966
3967         (AVFoundation) WebKit fails to detect live stream.
3968         https://bugs.webkit.org/show_bug.cgi?id=114474
3969
3970         Reviewed by Eric Carlson.
3971
3972         Remove a workaround (added by r88944) for an error in an Apple.com javascript
3973         media controller. The error has been fixed, and the workaround is causing problems
3974         with other media streams.
3975
3976         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3977         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
3978
3979 2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
3980
3981         [GTK] Split GtkAuthenticationDialog in two widgets
3982         https://bugs.webkit.org/show_bug.cgi?id=103644
3983
3984         Reviewed by Xan Lopez.
3985
3986         The current GtkAuthenticationDialog implements both the common
3987         logic and widgets to implement a real GtkDialog and a widget to be
3988         embedded in any container. WebKit1 uses a GtkDialog while WebKit2
3989         embeds the dialog in the WebView. This patch splits the code to
3990         leave in Platform only the code that is actually common, leaving
3991         the widget implementation to the WebKit layer, using a dialog in
3992         WebKit1 and embedding auth widget in the WebView in WebKit2.
3993
3994         * GNUmakefile.list.am: Add new files to compilation.
3995         * platform/gtk/GtkAuthenticationDialog.cpp: Removed.
3996         * platform/gtk/GtkAuthenticationDialog.h: Removed.
3997         * platform/gtk/WebKitAuthenticationWidget.cpp: Added.
3998         (_WebKitAuthenticationWidgetPrivate):
3999         (packTwoColumnLayoutInBox):
4000         (createLabel):
4001         (createEntry):
4002         (webkitAuthenticationWidgetInitialize):
4003         (webkitAuthenticationWidgetFinalize):
4004         (webkit_authentication_widget_init):
4005         (webkit_authentication_widget_class_init):
4006         (webkitAuthenticationWidgetNew):
4007         (webkitAuthenticationWidgetCreateCredential):
4008         (webkitAuthenticationWidgetGetChallenge):
4009         * platform/gtk/WebKitAuthenticationWidget.h: Added.
4010         (_WebKitAuthenticationWidget):
4011         (_WebKitAuthenticationWidgetClass):
4012
4013 2013-04-11  Jer Noble  <jer.noble@apple.com>
4014
4015         Add support for MediaPlayer::minTimeSeekable()
4016         https://bugs.webkit.org/show_bug.cgi?id=114484
4017
4018         Reviewed by Eric Carlson.
4019
4020         Plumb a new minTimeSeekable() method through MediaPlayer and
4021         MediaPlayerPrivate and use this new method in the existing
4022         HTMLMediaElement::minTimeSeekable() method.
4023
4024         * html/HTMLMediaElement.cpp:
4025         (WebCore::HTMLMediaElement::minTimeSeekable): Pass to MediaPlayer.
4026         * platform/graphics/MediaPlayer.cpp:
4027         (WebCore::NullMediaPlayerPrivate::minTimeSeekable): Return 0.
4028         (WebCore::MediaPlayer::minTimeSeekable): Pass to MediaPlayerPrivate.
4029         * platform/graphics/MediaPlayer.h:
4030         * platform/graphics/MediaPlayerPrivate.h:
4031         (WebCore::MediaPlayerPrivateInterface::seekable): Define in terms of 
4032             minTimeSeekable()
4033         (WebCore::MediaPlayerPrivateInterface::minTimeSeekable): Default to 0.
4034         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
4035         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
4036             Initialize new m_cachedMinTimeSeekable ivar.
4037         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble):
4038             Renamed from maxTimeSeekable().
4039         (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Added.
4040             Cache value of platformMinTimeSeekable().
4041         (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
4042             Reset m_cachedMinTimeSeekable.
4043         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
4044         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
4045         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
4046         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): float -> double.
4047         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
4048             Added. Retrieve the lowest value from -[m_playerItem seekableTimeRanges].
4049         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
4050             float -> double.
4051
4052 2013-04-12  Commit Queue  <rniwa@webkit.org>
4053
4054         Unreviewed, rolling out r147942, r148026, and r148092.
4055         http://trac.webkit.org/changeset/147942
4056         http://trac.webkit.org/changeset/148026
4057         http://trac.webkit.org/changeset/148092
4058         https://bugs.webkit.org/show_bug.cgi?id=114521
4059
4060         "r147942 is buggy. Rollback all the patches depending on it."
4061         (Requested by abucur on #webkit).
4062
4063         * dom/ContainerNode.cpp:
4064         (WebCore::willRemoveChildren):
4065         (WebCore):
4066         (WebCore::ContainerNode::removeChildren):
4067         * dom/Document.cpp:
4068         (WebCore::Document::nodeChildrenWillBeRemoved):
4069         (WebCore):