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