[V8] setDOMException() should return v8::Handle<v8::Value>()
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-22  Kentaro Hara  <haraken@chromium.org>
2
3         [V8] setDOMException() should return v8::Handle<v8::Value>()
4         https://bugs.webkit.org/show_bug.cgi?id=87083
5
6         Reviewed by Adam Barth.
7
8         The following patterns are used here and there in V8 bindings:
9
10             setDOMException();
11             return v8::Handle<v8::Value>();
12
13         and
14
15             setDOMException();
16             return v8::Undefined();
17
18         By returning v8::Handle<v8::Value>() from setDOMException(), we can simplify the above patterns into this:
19
20             return setDOMException();
21
22         This patch just replaces the code in CodeGeneratorV8.pm. I'll replace
23         all other custom bindings in a follow-up patch.
24
25         No tests. No change in behavior.
26
27         * bindings/scripts/CodeGeneratorV8.pm:
28         (GenerateSetDOMException):
29         (GenerateFunctionCallback):
30         (GenerateFunctionCallString):
31         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
32         (WebCore::TestEventTargetV8Internal::itemCallback):
33         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
34         * bindings/scripts/test/V8/V8TestInterface.cpp:
35         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
36         * bindings/scripts/test/V8/V8TestObj.cpp:
37         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
38         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
39         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
40         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
41         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
42         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
43         (WebCore::TestObjV8Internal::methodWithExceptionCallback):
44         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
45         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
46         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
47         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
48         (WebCore::TestObjV8Internal::strictFunctionCallback):
49         * bindings/v8/V8Proxy.cpp:
50         (WebCore::V8Proxy::setDOMException):
51         * bindings/v8/V8Proxy.h:
52         (V8Proxy):
53
54 2012-05-22  MORITA Hajime  <morrita@google.com>
55
56         Unreviewed expectations update against r117989.
57
58         * bindings/scripts/test/V8/V8Float64Array.cpp:
59         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
60         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
61         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
62         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
63         * bindings/scripts/test/V8/V8TestException.cpp:
64         * bindings/scripts/test/V8/V8TestInterface.cpp:
65         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
66         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
67         * bindings/scripts/test/V8/V8TestNode.cpp:
68         * bindings/scripts/test/V8/V8TestObj.cpp:
69         (WebCore::V8TestObj::installPerContextProperties):
70         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
71
72 2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
73
74         Web Inspector: migrate dominatorIndex code to the front-end calculated dominatorsTree.
75         https://bugs.webkit.org/show_bug.cgi?id=87024
76
77         Reviewed by Yury Semikhatsky.
78
79         * inspector/front-end/HeapSnapshot.js:
80         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
81         (WebInspector.HeapSnapshot.prototype._init):
82
83 2012-05-22  Kentaro Hara  <haraken@chromium.org>
84
85         [V8] Replace 'throwError(); return Undefined();' with 'return throwError()'
86         https://bugs.webkit.org/show_bug.cgi?id=87079
87
88         Reviewed by Adam Barth.
89
90         This patch replaces
91
92             throwError();
93             return v8::Undefined();
94
95         with
96
97             return throwError();
98
99         No tests. No change in behavior.
100
101         * bindings/v8/DateExtension.cpp:
102         (WebCore::DateExtension::OnSleepDetected):
103         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
104         (WebCore::V8HTMLDocument::openCallback):
105         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
106         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
107         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
108         (WebCore::V8SQLResultSetRowList::itemCallback):
109         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
110         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
111         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
112         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
113         (WebCore::V8WebGLRenderingContext::getUniformCallback):
114         (WebCore::vertexAttribAndUniformHelperf):
115         (WebCore::uniformHelperi):
116         (WebCore::uniformMatrixHelper):
117
118 2012-05-22  Kenneth Russell  <kbr@google.com>
119
120         Must set/reset pixel unpack alignment to 1 during texSubImage2D
121         https://bugs.webkit.org/show_bug.cgi?id=86877
122
123         Reviewed by James Robinson.
124
125         Set pixel unpack alignment to 1 during upload, resetting afterward.
126
127         Tests: fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html
128                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
129                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
130                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
131                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
132                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
133                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
134                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
135                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
136                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html
137
138         * html/canvas/WebGLRenderingContext.cpp:
139         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
140         (WebCore::WebGLRenderingContext::texSubImage2D):
141             Set pixel unpack alignment to 1 during upload; reset afterward.
142
143 2012-05-21  Sam D  <dsam2912@gmail.com>
144
145         Web Inspector: "Deactivate All Breakpoints" should visually get reflected in Breakpoints pane.
146         https://bugs.webkit.org/show_bug.cgi?id=86844
147
148         Reviewed by Pavel Feldman.
149
150         Added an option for activate/deactivate breakpoints into Breakpoints
151         pane section. Style properties has been attached with
152         breakpoint list to reflect active state of breakpoints.
153
154         No new tests. UI Change.
155
156         * English.lproj/localizedStrings.js:
157         * inspector/front-end/BreakpointsSidebarPane.js:
158         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
159         * inspector/front-end/ScriptsPanel.js:
160         (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
161         * inspector/front-end/inspector.css:
162         (.breakpoints-list-deactivated):
163
164 2012-05-21  Alexis Menard  <alexis.menard@openbossa.org>
165
166         Web Inspector: Remove some dead code in CSSStyleModel.js.
167         https://bugs.webkit.org/show_bug.cgi?id=87048
168
169         Reviewed by Pavel Feldman.
170
171         Remove dead and unused code in CSSStyleModel.js.
172
173         No new tests : the code is supposedly dead so we should not have
174         any regressions.
175
176         * inspector/front-end/CSSStyleModel.js:
177
178 2012-05-21  Adam Barth  <abarth@webkit.org>
179
180         !HAVE(ACCESSIBILITY) should be able to build without linking in any code from WebCore/accessibility
181         https://bugs.webkit.org/show_bug.cgi?id=87035
182
183         Reviewed by Chris Fleizach.
184
185         The OS(ANDROID) already builds with !HAVE(ACCESSIBILITY), but because
186         there are a few straggling references to objects in the
187         WebCore/accessibility directory, we end up pulling in a bunch of code
188         into the binary that we don't need.
189
190         This patch stubs out a few more functions for !HAVE(ACCESSIBILITY) so
191         we can link without any objects from WebCore/accessibility. This patch
192         also locks in that property by actually excluding the
193         WebCore/accessibility directory from the build on OS(ANDROID).
194
195         * WebCore.gyp/WebCore.gyp:
196         * accessibility/AXObjectCache.h:
197         (AXObjectCache):
198         (WebCore::AXObjectCache::enableAccessibility):
199         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
200         (WebCore::AXObjectCache::accessibilityEnabled):
201         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
202         (WebCore::AXObjectCache::AXObjectCache):
203         (WebCore::AXObjectCache::~AXObjectCache):
204         (WebCore::AXObjectCache::get):
205         (WebCore::AXObjectCache::getOrCreate):
206         (WebCore::AXObjectCache::rootObject):
207         (WebCore::AXObjectCache::rootObjectForFrame):
208         (WebCore::AXObjectCache::rootAXEditableElement):
209         (WebCore::AXObjectCache::childrenChanged):
210         (WebCore::AXObjectCache::contentChanged):
211         (WebCore::AXObjectCache::detachWrapper):
212         (WebCore::AXObjectCache::handleActiveDescendantChanged):
213         (WebCore::AXObjectCache::handleAriaRoleChanged):
214         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
215         (WebCore::AXObjectCache::handleScrolledToAnchor):
216         (WebCore::AXObjectCache::nodeTextChangeNotification):
217         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
218         (WebCore::AXObjectCache::postNotification):
219         (WebCore::AXObjectCache::postPlatformNotification):
220         (WebCore::AXObjectCache::remove):
221         (WebCore::AXObjectCache::selectedChildrenChanged):
222         * accessibility/AccessibilityObject.h:
223         (WebCore):
224         (WebCore::AccessibilityObject::updateBackingStore):
225         (WebCore::AccessibilityObject::lineForPosition):
226         (WebCore::AccessibilityObject::children):
227
228 2012-05-21  Andreas Kling  <kling@webkit.org>
229
230         Use stack-allocated BitArray in StylePropertySet serialization.
231         <http://webkit.org/b/87071>
232
233         Reviewed by Anders Carlsson.
234
235         Use BitArray instead of BitVector to track seen properties in StylePropertySet::asText().
236         This removes two heap allocations from this path.
237
238         * css/StylePropertySet.cpp:
239         (WebCore::StylePropertySet::asText):
240
241 2012-05-21  Hajime Morrita  <morrita@chromium.org>
242
243         Unreviewed Qt build fix against r117898.
244
245         * Target.pri:
246
247 2012-05-21  Hajime Morrita  <morrita@chromium.org>
248
249         [V8] Shadow DOM should be per-window-configurable.
250         https://bugs.webkit.org/show_bug.cgi?id=86555
251
252         Reviewed by Kentaro Hara.
253
254         This change introduces an IDL attribute named "V8EnabledAtContext"
255         which allows DOMWindow properties to be turned on or off per
256         windows basis. RuntimeEnabledFeatures::xxxAllowed() method decides the availability.
257
258         - CodeGeneratorV8.pm now accepts V8EnabledAtContext and allows such properties
259           to be configured per-Object basis, instead of per-ObjectTemplate basis.
260           The script generates V8Window::installPerContextProperties(), which injects such
261           per-object-turnable properties to newly created DOMWindow wrapper.
262         - Added RuntimeEnabledFeatures::shadowDOMAllowed(DOMWindow*) which is used to
263           decide the shadow dom availability of Shadow DOM feature.
264           It delegates the call to FrameLoaderClient::shadowDOMAllowed() to make the decision.
265         - The new IDL attribute is applied to DOMWindow.WebKitShadowRoot.
266         - Updated existing shadowDOMEnabled() call sites with shadowDOMAllowed().
267
268         No new tests except run-bindings-test. This isn't testable from
269         DRT and this change itself doesn't chagne the behaviour.  It needs
270         a client implementation.
271
272         * CMakeLists.txt:
273         * GNUmakefile.list.am:
274         * Target.pri:
275         * WebCore.gypi:
276         * WebCore.vcproj/WebCore.vcproj:
277         * WebCore.xcodeproj/project.pbxproj:
278         * bindings/generic/ContextEnabledFeatures.cpp: Added.
279         (WebCore):
280         (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
281         * bindings/generic/ContextEnabledFeatures.h: Added.
282         (WebCore):
283         (ContextEnabledFeatures):
284         * bindings/scripts/CodeGeneratorV8.pm:
285         (GenerateHeader):
286         (GenerateImplementation):
287         (GetContextEnableFunction):
288         * bindings/scripts/IDLAttributes.txt:
289         * bindings/scripts/test/TestObj.idl:
290         * bindings/scripts/test/V8/V8TestObj.cpp:
291         (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
292         (TestObjV8Internal):
293         (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrSetter):
294         (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
295         (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrSetter):
296         (WebCore::V8TestObj::installPerContextProperties):
297         * bindings/scripts/test/V8/V8TestObj.h:
298         (V8TestObj):
299         * bindings/v8/V8DOMWindowShell.cpp:
300         (WebCore::V8DOMWindowShell::installDOMWindow): Adopted installPerContextProperties()
301         * bindings/v8/V8Proxy.h:
302         (WebCore):
303         (WebCore::configureAttribute): Generalized to accept both ObjectTemplate and Object.
304         * dom/Position.cpp: Adopted ContextEnabledFeatures
305         (WebCore::Position::Position):
306         (WebCore::Position::findParent):
307         * dom/ShadowRoot.idl:
308         * dom/TreeScope.cpp:
309         (WebCore::TreeScope::getSelection):
310         * html/shadow/HTMLContentElement.cpp: Adopted ContextEnabledFeatures
311         (WebCore::contentTagName):
312         (WebCore::HTMLContentElement::create):
313         * loader/FrameLoaderClient.h:
314         (FrameLoaderClient):
315         (WebCore::FrameLoaderClient::shadowDOMAllowed): Added with a default behavior.
316         * page/DOMWindow.cpp:
317         * page/DOMWindow.idl:
318
319
320 2012-05-21  Tony Chang  <tony@chromium.org>
321
322         auto margins on flexbox should allocate space in the flex direction
323         https://bugs.webkit.org/show_bug.cgi?id=83086
324
325         Reviewed by Ojan Vafai.
326
327         Test: css3/flexbox/flex-flow-auto-margins.html
328
329         * rendering/RenderFlexibleBox.cpp:
330         (WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
331         (WebCore):
332         (WebCore::RenderFlexibleBox::updateAutoMarginsInMainAxis):
333         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Update the margins on the RenderBox *after* we do the final child layout.
334         * rendering/RenderFlexibleBox.h:
335
336 2012-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
337
338         [EFL] Add inital mediaControlsEflfullscreen.css for fullscreen control UI
339         https://bugs.webkit.org/show_bug.cgi?id=86988
340
341         Reviewed by Eric Carlson.
342
343         In order to support fullscreen feature, EFL port needs to have new css file for fullscreen media control UI.
344
345         No new tests because this patch is covered by existing tests.
346
347         * PlatformEfl.cmake:
348         * css/mediaControlsEflFullscreen.css: Added.
349         (video::-webkit-media-controls-panel):
350         (video:-webkit-full-page-media::-webkit-media-controls-panel):
351         (video::-webkit-media-controls-mute-button):
352         (video::-webkit-media-controls-play-button):
353         (video::-webkit-media-controls-timeline-container):
354         (video::-webkit-media-controls-current-time-display):
355         (video::-webkit-media-controls-time-remaining-display):
356         (video::-webkit-media-controls-timeline):
357         (video::-webkit-media-controls-volume-slider-container):
358         (video::-webkit-media-controls-volume-slider):
359         (video::-webkit-media-controls-seek-back-button):
360         (video::-webkit-media-controls-seek-forward-button):
361         (video::-webkit-media-controls-fullscreen-button):
362         (video::-webkit-media-controls-rewind-button):
363         (video::-webkit-media-controls-return-to-realtime-button):
364         (video::-webkit-media-controls-toggle-closed-captions-button):
365         * platform/efl/RenderThemeEfl.cpp:
366         (WebCore):
367         (WebCore::RenderThemeEfl::extraFullScreenStyleSheet):
368         * platform/efl/RenderThemeEfl.h:
369         (RenderThemeEfl):
370
371 2012-05-21  Kentaro Hara  <haraken@chromium.org>
372
373         [V8] Remove V8Proxy::notHandledByInterceptor()
374         https://bugs.webkit.org/show_bug.cgi?id=86831
375
376         Reviewed by Adam Barth.
377
378         This patch replaces 'return V8Proxy::notHandledByInterceptor()'
379         with 'return v8::Handle<v8::Value>()'. See the discussion in
380         https://bugs.webkit.org/show_bug.cgi?id=85330 for more details.
381
382         No tests. No change in behavior.
383
384         * bindings/scripts/CodeGeneratorV8.pm:
385         (GenerateOverloadedFunctionCallback):
386         (GenerateParametersCheck):
387         * bindings/scripts/test/V8/V8TestObj.cpp:
388         (WebCore::TestObjV8Internal::overloadedMethodCallback):
389         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
390         * bindings/v8/V8Collection.h:
391         (WebCore::collectionNamedPropertyGetter):
392         * bindings/v8/V8DOMWrapper.cpp:
393         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
394         * bindings/v8/V8NPObject.cpp:
395         (WebCore::npObjectSetProperty):
396         * bindings/v8/V8Proxy.cpp:
397         (WebCore::V8Proxy::runScript):
398         (WebCore::V8Proxy::throwError):
399         * bindings/v8/V8Proxy.h:
400         (WebCore):
401         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
402         (WebCore::constructWebGLArrayWithArrayBufferArgument):
403         (WebCore::setWebGLArrayHelper):
404         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
405         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
406         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
407         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
408         (WebCore::V8DOMStringMap::namedPropertyGetter):
409         * bindings/v8/custom/V8DOMWindowCustom.cpp:
410         (WebCore::V8DOMWindow::indexedPropertyGetter):
411         (WebCore::V8DOMWindow::namedPropertyGetter):
412         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
413         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
414         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
415         (WebCore::V8HTMLCollection::namedPropertyGetter):
416         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
417         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
418         (WebCore::V8HTMLFormElement::namedPropertyGetter):
419         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
420         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
421         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
422         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
423         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
424         (WebCore::npObjectNamedGetter):
425         (WebCore::npObjectNamedSetter):
426         (WebCore::npObjectIndexedGetter):
427         (WebCore::npObjectIndexedSetter):
428         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
429         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
430         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
431         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
432         (WebCore::V8NamedNodeMap::namedPropertyGetter):
433         * bindings/v8/custom/V8NodeListCustom.cpp:
434         (WebCore::V8NodeList::namedPropertyGetter):
435         * bindings/v8/custom/V8StorageCustom.cpp:
436         (WebCore::storageGetter):
437         (WebCore::V8Storage::namedPropertyGetter):
438         (WebCore::storageSetter):
439         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
440         (WebCore::V8StyleSheetList::namedPropertyGetter):
441         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
442         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
443         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
444         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
445         (WebCore::V8WebGLRenderingContext::getUniformCallback):
446         (WebCore::vertexAttribAndUniformHelperf):
447         (WebCore::uniformHelperi):
448         (WebCore::uniformMatrixHelper):
449
450 2012-05-21  Rob Buis  <rbuis@rim.com>
451
452         Shrink FontDescription object size
453         https://bugs.webkit.org/show_bug.cgi?id=86950
454
455         Reviewed by Alexey Proskuryakov.
456
457         Reduce object size of FontDescription by 8 bytes on 64-bit, 4 bytes on 32-bit systems.
458         Note that this means Font, StyleInheritedData and RenderSVGInlineText shrink too.
459
460         * platform/graphics/FontDescription.cpp:
461         * platform/graphics/FontDescription.h:
462         (WebCore::FontDescription::script):
463         (FontDescription):
464
465 2012-05-21  Abhishek Arya  <inferno@chromium.org>
466
467         Regression(r117482): Run-in crashes relating to generated content and inline line box clearing.
468         https://bugs.webkit.org/show_bug.cgi?id=86879
469
470         Reviewed by Julien Chaffraix.
471
472         Tests: fast/runin/generated-content-crash.html
473                fast/runin/move-run-in-original-position-crash.html
474
475         * rendering/RenderBlock.cpp:
476         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use the new helper
477         placeRunInIfNeeded. Do not place the run-in if it is a generated container since
478         the caller such as updateBeforeAfterContent might be keeping a reference to it
479         and adding children to it later.
480         (WebCore::destroyRunIn): Add ability to clear line box tree for inlines.
481         (WebCore::RenderBlock::placeRunInIfNeeded): Helper to place run-in. Add an
482         argument to not modify generated content during addChild, it should be moved
483         only at end of updateBeforeAfterContent.
484         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): 
485         (WebCore::RenderBlock::runInIsPlacedIntoSiblingBlock): helper to tell if this run-in
486         is actually placed into the next sibling block.
487         (WebCore::RenderBlock::moveRunInToOriginalPosition):
488         * rendering/RenderInline.cpp:
489         (WebCore::RenderInline::deleteLineBoxTree): like RenderBlock, add a helper
490         for deleteLineBoxTree. Virtualizing this might not be good, since this is
491         the only call site for inline line box tree clearing and RenderBlock::deleteLineBoxTree
492         is called a lot.
493         * rendering/RenderObjectChildList.cpp:
494         (WebCore::createRendererForBeforeAfterContent): fix a typo.
495         (WebCore::RenderObjectChildList::updateBeforeAfterContent): If insertBefore is equal
496         to the intruded run-in, then set it to next sibling so that new child will come after it. At
497         the end, place the generatedContainer if it is a run-in.
498
499 2012-05-21  James Robinson  <jamesr@chromium.org>
500
501         [chromium] Port chromium compositor to use WebFilterOperation(s)
502         https://bugs.webkit.org/show_bug.cgi?id=87046
503
504         Reviewed by Adrienne Walker.
505
506         This converts all compositor implementation logic to use WebFilterOperation(s) directly instead of the WebCore
507         types. GraphicsLayerChromium bridges between a WebCore::FilterOperations to WebFilterOperations, doing the
508         necessary type conversions and checking for filters that our compositor implementation supports. This cleans up
509         the chromium compositor's dependencies and removes any thread constraints from WebCore::FilterOperation /
510         WebCore::FilterOperations.
511
512         Covered by existing layout tests and unit tests in FilterOperationsTest.cpp
513
514         * WebCore.gyp/WebCore.gyp:
515         * WebCore.gypi:
516         * platform/chromium/support/WebFilterOperations.cpp: Moved to Source/Platform/chromium/src/
517         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
518         (WebCore::copyWebCoreFilterOperationsToWebFilterOperations):
519         (WebCore):
520         (WebCore::GraphicsLayerChromium::setFilters):
521         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
522         (WebCore::GraphicsLayerChromium::updateTransform):
523         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
524         * platform/graphics/chromium/GraphicsLayerChromium.h:
525         (GraphicsLayerChromium):
526         * platform/graphics/chromium/LayerChromium.cpp:
527         (WebCore::LayerChromium::setFilters):
528         (WebCore::LayerChromium::setBackgroundFilters):
529         (WebCore::LayerChromium::pushPropertiesTo):
530         * platform/graphics/chromium/LayerChromium.h:
531         (LayerChromium):
532         (WebCore::LayerChromium::filters):
533         (WebCore::LayerChromium::backgroundFilters):
534         * platform/graphics/chromium/RenderSurfaceChromium.h:
535         (WebCore::RenderSurfaceChromium::setFilters):
536         (WebCore::RenderSurfaceChromium::filters):
537         (WebCore::RenderSurfaceChromium::setBackgroundFilters):
538         (WebCore::RenderSurfaceChromium::backgroundFilters):
539         (RenderSurfaceChromium):
540         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
541         (WebCore::expandDamageRectWithFilters):
542         (WebCore::expandDamageRectInsideRectWithFilters):
543         (WebCore::CCDamageTracker::updateDamageTrackingState):
544         * platform/graphics/chromium/cc/CCDamageTracker.h:
545         (WebKit):
546         (WebCore):
547         (CCDamageTracker):
548         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
549         (WebCore::CCLayerImpl::setFilters):
550         (WebCore::CCLayerImpl::setBackgroundFilters):
551         * platform/graphics/chromium/cc/CCLayerImpl.h:
552         (CCLayerImpl):
553         (WebCore::CCLayerImpl::filters):
554         (WebCore::CCLayerImpl::backgroundFilters):
555         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
556         (WebCore::CCRenderSurface::applyFilters):
557         * platform/graphics/chromium/cc/CCRenderSurface.h:
558         (WebCore::CCRenderSurface::setFilters):
559         (WebCore::CCRenderSurface::filters):
560         (CCRenderSurface):
561         (WebCore::CCRenderSurface::setBackgroundFilters):
562         (WebCore::CCRenderSurface::backgroundFilters):
563         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
564         (WebCore::CCRenderSurfaceFilters::apply):
565         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
566         (WebKit):
567         (CCRenderSurfaceFilters):
568         * testing/Internals.cpp:
569         (WebCore::Internals::setBackgroundBlurOnNode):
570
571 2012-05-15  Gavin Barraclough  <barraclough@apple.com>
572
573         Add support for private names
574         https://bugs.webkit.org/show_bug.cgi?id=86509
575
576         Reviewed by Oliver Hunt.
577
578         The spec isn't final, but we can start adding support to allow property maps
579         to contain keys that aren't identifiers.
580
581         Test: fast/js/names.html
582
583         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
584         (WebCore::cssPropertyIDForJSCSSPropertyName):
585         * bindings/js/JSDOMBinding.cpp:
586         (WebCore::findAtomicString):
587         (WebCore::objectToStringFunctionGetter):
588         * bindings/js/JSDOMBinding.h:
589         (WebCore::propertyNameToString):
590         (WebCore::propertyNameToAtomicString):
591         * bindings/js/JSDOMWindowCustom.cpp:
592         (WebCore::nonCachingStaticFunctionGetter):
593         * bindings/js/JSHistoryCustom.cpp:
594         (WebCore::nonCachingStaticBackFunctionGetter):
595         (WebCore::nonCachingStaticForwardFunctionGetter):
596         (WebCore::nonCachingStaticGoFunctionGetter):
597         * bindings/js/JSLocationCustom.cpp:
598         (WebCore::nonCachingStaticReplaceFunctionGetter):
599         (WebCore::nonCachingStaticReloadFunctionGetter):
600         (WebCore::nonCachingStaticAssignFunctionGetter):
601         * bridge/c/c_class.cpp:
602         (JSC::Bindings::CClass::methodsNamed):
603         (JSC::Bindings::CClass::fieldNamed):
604         * bridge/c/c_instance.cpp:
605         (JSC::Bindings::CInstance::getMethod):
606         * bridge/jni/jsc/JavaClassJSC.cpp:
607         (JavaClass::methodsNamed):
608         (JavaClass::fieldNamed):
609         * bridge/jni/jsc/JavaInstanceJSC.cpp:
610         * bridge/objc/objc_class.mm:
611         (JSC::Bindings::ObjcClass::methodsNamed):
612         (JSC::Bindings::ObjcClass::fieldNamed):
613         (JSC::Bindings::ObjcClass::fallbackObject):
614         * bridge/objc/objc_instance.mm:
615         (ObjcInstance::setValueOfUndefinedField):
616         (ObjcInstance::getValueOfUndefinedField):
617             - Removed PropertyName::impl(), call publicName() to get the string associated with a name.
618
619 2012-05-21  Tim Horton  <timothy_horton@apple.com>
620
621         GeneratorGeneratedImage should cache intermediate images
622         https://bugs.webkit.org/show_bug.cgi?id=86906
623         <rdar://problem/11484852>
624
625         Reviewed by Dean Jackson.
626
627         Cache generated images in GeneratorGeneratedImage. The cache is invalidated:
628             a) if the Generator's hash changes.
629             b) if the rendered size changes.
630             c) if the cached image is incompatible with the destination context (acceleration state or CTM scale).
631             d) after one second of disuse.
632
633         Add a hash() function to Generator, which should be implemented in subclasses
634         to provide a straightforward way to determine if Generators have been mutated
635         in a way that will affect the resultant rendering.
636
637         No new tests, performance optimization. Correctness is covered by the multitude of existing gradient tests.
638
639         * platform/graphics/Generator.h:
640         (Generator):
641         * platform/graphics/GeneratorGeneratedImage.cpp:
642         (WebCore::GeneratorGeneratedImage::drawPattern):
643         * platform/graphics/GeneratorGeneratedImage.h:
644         (WebCore):
645         (GeneratorGeneratedImage):
646         (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
647         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
648         (GeneratedImageCacheTimer):
649         (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::GeneratedImageCacheTimer):
650         (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::restart):
651         * platform/graphics/Gradient.cpp:
652         (WebCore::Gradient::Gradient):
653         (WebCore::Gradient::addColorStop):
654         (WebCore::Gradient::sortStopsIfNecessary):
655         (WebCore::Gradient::setSpreadMethod):
656         (WebCore::Gradient::setGradientSpaceTransform):
657         (WebCore::Gradient::hash):
658         * platform/graphics/Gradient.h:
659         (WebCore::Gradient::setP0):
660         (WebCore::Gradient::setP1):
661         (WebCore::Gradient::setStartRadius):
662         (WebCore::Gradient::setEndRadius):
663         (Gradient):
664         (WebCore::Gradient::clearHashCache):
665         * platform/graphics/GraphicsContext.cpp:
666         (WebCore::GraphicsContext::isCompatibleWithBuffer):
667         (WebCore):
668         * platform/graphics/GraphicsContext.h:
669         (GraphicsContext):
670
671 2012-05-21  Emil A Eklund  <eae@chromium.org>
672
673         Fix bug in paintNinePieceImage exposed by subpixel change
674         https://bugs.webkit.org/show_bug.cgi?id=87060
675
676         Reviewed by Levi Weintraub.
677
678         Fix rounding in paintNinePieceImage where the left/right images where
679         drawn on subpixel bounds.
680
681         Covered by existing tests.
682
683         * rendering/RenderBoxModelObject.cpp:
684         (WebCore::RenderBoxModelObject::paintNinePieceImage):
685
686 2012-05-21  Emil A Eklund  <eae@chromium.org>
687
688         Move padding/margin/offset writing mode logic from RenderStyle to LengthBox
689         https://bugs.webkit.org/show_bug.cgi?id=86970
690
691         Reviewed by Eric Seidel.
692
693         Move writing mode and bidi logic for paddings, margins and offsets from
694         RenderStyle to LengthBox. This way the same logic can be used for all
695         three removing unnecessary code duplication.
696
697         No new tests, no change in functionality.
698
699         * CMakeLists.txt:
700         * GNUmakefile.list.am:
701         * Target.pri:
702         * WebCore.gypi:
703         * WebCore.vcproj/WebCore.vcproj:
704         * WebCore.xcodeproj/project.pbxproj:
705         * platform/LengthBox.cpp: Added.
706         * platform/LengthBox.h:
707         * rendering/style/RenderStyle.cpp:
708         * rendering/style/RenderStyle.h:
709
710 2012-05-21  Mike West  <mkwst@chromium.org>
711
712         Improving console error for CSP-blocked  `setTimeout` and `setInterval` evaluation.
713         https://bugs.webkit.org/show_bug.cgi?id=86943
714
715         Reviewed by Adam Barth.
716
717         If the inspector is open, a stack trace is generated before calling
718         ContentSecurityPolicy::allowEval, and passed through to
719         ContentSecurityPolicy::reportViolation for use in the console message.
720
721         Test: http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html
722               http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html
723
724         * bindings/js/ScheduledAction.cpp:
725         (WebCore::ScheduledAction::create):
726         * bindings/v8/custom/V8DOMWindowCustom.cpp:
727         (WebCore::WindowSetTimeoutImpl):
728         * page/ContentSecurityPolicy.cpp:
729         (CSPDirectiveList):
730         (WebCore::CSPDirectiveList::reportViolation):
731         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
732         (WebCore::CSPDirectiveList::allowEval):
733         (WebCore):
734         (WebCore::isAllowedByAllWithCallStack):
735         (WebCore::isAllowedByAllWithURL):
736         (WebCore::ContentSecurityPolicy::allowEval):
737         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
738         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
739         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
740         (WebCore::ContentSecurityPolicy::allowImageFromSource):
741         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
742         (WebCore::ContentSecurityPolicy::allowFontFromSource):
743         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
744         (WebCore::ContentSecurityPolicy::allowConnectToSource):
745         * page/ContentSecurityPolicy.h:
746         (WebCore):
747
748 2012-05-21  Antoine Labour  <piman@chromium.org>
749
750         Don't force rendering in finishAllRendering
751         https://bugs.webkit.org/show_bug.cgi?id=86919
752
753         Reviewed by James Robinson.
754
755         After we acquire the texture layers on the main thread, we can't draw.
756         In particular if we destroyed the texture ids used previously by
757         TextureLayerChromium, drawing before a commit would cause a
758         bind-after-destroy.
759
760         Tested by CCLayerTreeHostTestFinishAllRendering.
761
762         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
763         (WebCore::CCThreadProxy::CCThreadProxy):
764         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
765         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
766
767 2012-05-21  Joshua Bell  <jsbell@chromium.org>
768
769         IndexedDB: Store key paths in IDBKeyPath type instead of String
770         https://bugs.webkit.org/show_bug.cgi?id=85298
771
772         Reviewed by Tony Chang, Kentaro Hara and James Robinson.
773
774         Migrate from storing key paths as (nullable) Strings to a dedicated IDBKeyPath
775         type. Prep work for supporting array-type key paths: http://webkit.org/b/84207
776
777         Only functional change is handling of null/undefined parameters for key paths,
778         to align with IDB spec, covered by layout test.
779
780         Test: storage/indexeddb/keypath-basics.html
781         Test: WebKit/chromium/IDBLevelDBCodingTest.cpp
782
783         * Modules/indexeddb/IDBAny.cpp: Allow IDBAny to yield DOMStrings.
784         (WebCore::IDBAny::createString):
785         (WebCore):
786         (WebCore::IDBAny::string):
787         (WebCore::IDBAny::set):
788         * Modules/indexeddb/IDBAny.h:
789         (IDBAny):
790         * Modules/indexeddb/IDBBackingStore.h: Switch from String to IDBKeyPath.
791         (IDBBackingStore):
792         * Modules/indexeddb/IDBDatabase.cpp: Switch from String to IDBKeyPath.
793         (WebCore::IDBDatabase::createObjectStore):
794         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Switch from String to IDBKeyPath.
795         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
796         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
797         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Switch from String to IDBKeyPath.
798         (IDBDatabaseBackendImpl):
799         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Switch from String to IDBKeyPath.
800         (WebCore):
801         (IDBDatabaseBackendInterface):
802         * Modules/indexeddb/IDBIndex.h: Switch from String to IDBAny (via IDBKeyPath).
803         (WebCore::IDBIndex::keyPath):
804         * Modules/indexeddb/IDBIndex.idl: Switch from DOMString? to IDBAny.
805         * Modules/indexeddb/IDBIndexBackendImpl.cpp: Switch from String to IDBKeyPath.
806         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
807         * Modules/indexeddb/IDBIndexBackendImpl.h: Switch from String to IDBKeyPath.
808         (WebCore::IDBIndexBackendImpl::create):
809         (WebCore::IDBIndexBackendImpl::keyPath):
810         (IDBIndexBackendImpl):
811         * Modules/indexeddb/IDBIndexBackendInterface.h: Switch from String to IDBKeyPath.
812         (WebCore):
813         (IDBIndexBackendInterface):
814         * Modules/indexeddb/IDBKeyPath.cpp: Non-trivial method implementations.
815         (WebCore::IDBKeyPath::isValid):
816         (WebCore):
817         (WebCore::IDBKeyPath::operator PassRefPtr<IDBAny>):
818         * Modules/indexeddb/IDBKeyPath.h: Introduce IDBKeyPath type.
819         (IDBKeyPath):
820         (WebCore::IDBKeyPath::IDBKeyPath):
821         (WebCore::IDBKeyPath::type):
822         (WebCore::IDBKeyPath::array):
823         (WebCore::IDBKeyPath::string):
824         (WebCore::IDBKeyPath::isNull):
825         (WebCore):
826         * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
827         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
828         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
829         * Modules/indexeddb/IDBKeyPathBackendImpl.h: Switch from String to IDBKeyPath.
830         (WebCore):
831         (IDBKeyPathBackendImpl):
832         * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Switch from String to IDBKeyPath, with back-compat.
833         (WebCore):
834         (WebCore::putIDBKeyPath):
835         (WebCore::IDBLevelDBBackingStore::getObjectStores):
836         (WebCore::IDBLevelDBBackingStore::createObjectStore):
837         (WebCore::IDBLevelDBBackingStore::getIndexes):
838         (WebCore::IDBLevelDBBackingStore::createIndex):
839         * Modules/indexeddb/IDBLevelDBBackingStore.h:
840         (IDBLevelDBBackingStore):
841         * Modules/indexeddb/IDBLevelDBCoding.cpp: New coding scheme for key paths (with back-compat).
842         (IDBLevelDBCoding):
843         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
844         (WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
845         * Modules/indexeddb/IDBLevelDBCoding.h: Add key-path-specific methods.
846         (WebCore):
847         (IDBLevelDBCoding):
848         * Modules/indexeddb/IDBObjectStore.cpp: Switch from String to IDBKeyPath.
849         (WebCore::IDBObjectStore::keyPath):
850         (WebCore::IDBObjectStore::createIndex):
851         (WebCore):
852         * Modules/indexeddb/IDBObjectStore.h: Switch from String to IDBAny (via IDBKeyPath).
853         (IDBObjectStore):
854         * Modules/indexeddb/IDBObjectStore.idl: Switch from DOMString? to IDBAny.
855         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Switch from String to IDBKeyPath.
856         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
857         (WebCore::fetchKeyFromKeyPath):
858         (WebCore::injectKeyIntoKeyPath):
859         (WebCore::IDBObjectStoreBackendImpl::createIndex):
860         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
861         * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Switch from String to IDBKeyPath.
862         (WebCore::IDBObjectStoreBackendImpl::create):
863         (WebCore::IDBObjectStoreBackendImpl::keyPath):
864         (IDBObjectStoreBackendImpl):
865         * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Switch from String to IDBKeyPath.
866         (WebCore):
867         (IDBObjectStoreBackendInterface):
868         * bindings/v8/Dictionary.cpp: Add getter for DOMString[] (i.e. Vector<String>)
869         (WebCore):
870         (WebCore::Dictionary::get):
871         * bindings/v8/Dictionary.h:
872         (Dictionary):
873         * bindings/v8/IDBBindingUtilities.cpp: Switch from String to IDBKeyPath.
874         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
875         (WebCore::injectIDBKeyIntoSerializedValue):
876         * bindings/v8/IDBBindingUtilities.h: Switch from String to IDBKeyPath.
877         (WebCore):
878         * bindings/v8/custom/V8IDBAnyCustom.cpp: Support String/DOMString.
879         (WebCore::toV8):
880         * dom/DOMStringList.h: Allow easy (const) access to strings.
881         (WebCore::DOMStringList::operator const Vector<String>&):
882         (DOMStringList):
883         * inspector/InspectorIndexedDBAgent.cpp: Temporary shim for non-strings: see http://webkit.org/b/84303
884         (WebCore):
885         * platform/chromium/PlatformSupport.h: Switch from String to IDBKeyPath.
886         (WebCore):
887         (PlatformSupport):
888         * storage/chromium/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
889         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
890         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
891
892 2012-05-21  Zhenyao Mo  <zmo@google.com>
893
894         Restore WebGL's framebuffer binding after DrawingBuffer's prepareBackBuffer()
895         https://bugs.webkit.org/show_bug.cgi?id=87032
896
897         Reviewed by James Robinson.
898
899         * platform/graphics/chromium/DrawingBufferChromium.cpp:
900         (WebCore::DrawingBuffer::prepareBackBuffer): restore the user's framebuffer binding if there is one.
901
902 2012-05-21  Ryosuke Niwa  <rniwa@webkit.org>
903
904         isStartOfDocument and isEndOfDocument are poorly named
905         https://bugs.webkit.org/show_bug.cgi?id=86649
906
907         Reviewed by Levi Weintraub.
908
909         Renamed isEndOfDocument to isEndOfEditableOrNonEditableContent because that's what this function checks.
910
911         Also added new versions of isStartOfDocument and isEndOfDocument that correctly cross editing boundaries
912         to be used in selectFrameElementInParentIfFullySelected.
913
914         * editing/CompositeEditCommand.cpp:
915         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
916         * editing/Editor.cpp:
917         (WebCore::Editor::insertLineBreak):
918         (WebCore::Editor::insertParagraphSeparator):
919         * editing/ReplaceSelectionCommand.cpp:
920         (WebCore::ReplaceSelectionCommand::doApply):
921         * editing/VisibleSelection.cpp:
922         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
923         * editing/visible_units.cpp:
924         (WebCore::isEndOfEditableOrNonEditableContent):
925         * editing/visible_units.h:
926
927 2012-05-21 Anna Cavender  <annacc@chromium.org>
928
929         Only render text track cues if kind=captions or kind=subtitles.
930         https://bugs.webkit.org/show_bug.cgi?id=83321
931
932         Reviewed by Eric Carlson.
933
934         No new tests. Modification to media/track/track-kind.html
935
936         * html/HTMLMediaElement.cpp:
937         (WebCore::HTMLMediaElement::textTrackKindChanged):
938            If the kind changes from a 'visible' kind to a 'non-visible' kind,
939            update the track's mode to HIDDEN.
940
941         * html/shadow/MediaControlElements.cpp:
942         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
943             Do not render cues from tracks that are not captions or subtitles.
944
945         * html/track/TextTrack.cpp:
946         (WebCore::TextTrack::setMode):
947             If the track's mode changes from SHOWING to HIDDEN or DISABLED,
948             ensure any currently visible cues will no longer be rendered.
949
950         * html/track/TextTrackCue.cpp:
951         (WebCore::TextTrackCue::removeDisplayTree): New method.
952         * html/track/TextTrackCue.h:
953         (TextTrackCue):
954  
955 2012-05-21  Andreas Kling  <kling@webkit.org>
956
957         CSS: Move duplicate property elimination to parser.
958         <http://webkit.org/b/86948>
959
960         Reviewed by Antti Koivisto.
961
962         Remove the StylePropertySet constructor that handled elimination of duplicate
963         properties and move that to a new parser method, CSSParser::filteredProperties().
964         Call sites are converted to using StylePropertySet(const Vector<CSSProperty>&).
965
966         Instead of building a hashmap of seen properties, use the new WTF::BitArray class
967         to track whether a given property ID has been seen, and whether we have an
968         !important entry for a given ID.
969
970         * css/CSSParser.cpp:
971         (WebCore::CSSParser::parseValue):
972         (WebCore::CSSParser::parseDeclaration):
973         (WebCore::CSSParser::filteredProperties):
974         (WebCore::CSSParser::createStyleRule):
975         (WebCore::CSSParser::createFontFaceRule):
976         (WebCore::CSSParser::createPageRule):
977         (WebCore::CSSParser::createKeyframe):
978         * css/CSSParser.h:
979         * css/StylePropertySet.cpp:
980         (WebCore::StylePropertySet::StylePropertySet):
981         (WebCore::StylePropertySet::addParsedProperties):
982         * css/StylePropertySet.h:
983         (WebCore::StylePropertySet::create):
984         (StylePropertySet):
985         * svg/SVGFontFaceElement.cpp:
986         (WebCore::SVGFontFaceElement::rebuildFontFace):
987
988 2012-05-21  Joshua Bell  <jsbell@chromium.org>
989
990         IndexedDB: Index key paths that yield invalid keys should not fail an add/put
991         https://bugs.webkit.org/show_bug.cgi?id=86122
992
993         Reviewed by Tony Chang.
994
995         A clause was removed from the IDB spec. Previously, on add/put, if evaluating an
996         index's key path yielded a value that was not a valid key, an exception would be
997         raised. Now, it is treated the same as if no value was yielded.
998
999         Test: storage/indexeddb/index-basics.html
1000         Test: storage/indexeddb/index-basics-workers.html
1001         Test: storage/indexeddb/objectstore-basics.html
1002         Test: storage/indexeddb/objectstore-basics-workers.html
1003
1004         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1005         (WebCore::IDBObjectStoreBackendImpl::put): Preconditions removed
1006         (WebCore::IDBObjectStoreBackendImpl::putInternal): Treat invalid keys the same as missing keys.
1007
1008 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1009
1010         Web Inspector: refactor revision history to not include resource itself.
1011         https://bugs.webkit.org/show_bug.cgi?id=87026
1012
1013         Reviewed by Vsevolod Vlasov.
1014
1015         This change makes resource contain pure revisions, it stops updating Resources upon free flow editing.
1016
1017         * inspector/front-end/JavaScriptSource.js:
1018         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
1019         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
1020         (WebInspector.JavaScriptSource.prototype.setFormatted):
1021         * inspector/front-end/JavaScriptSourceFrame.js:
1022         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
1023         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
1024         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
1025         * inspector/front-end/Resource.js:
1026         (WebInspector.Resource.prototype.addRevision):
1027         (WebInspector.Resource.prototype._innerRequestContent.callback):
1028         (WebInspector.Resource.prototype._innerRequestContent):
1029         (WebInspector.Resource.prototype.revertToOriginal):
1030         (WebInspector.ResourceRevision.prototype.revertToThis):
1031         (WebInspector.ResourceRevision.prototype.requestContent):
1032         (WebInspector.ResourceRevision.prototype.searchInContent):
1033         (WebInspector.ResourceRevision.prototype._persistRevision):
1034         * inspector/front-end/RevisionHistoryView.js:
1035         (WebInspector.RevisionHistoryView):
1036         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
1037         (WebInspector.RevisionHistoryTreeElement):
1038         * inspector/front-end/ScriptSnippetModel.js:
1039         (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
1040         * inspector/front-end/StylesPanel.js:
1041         (WebInspector.StyleSourceFrame.prototype.commitEditing):
1042         (WebInspector.StyleSourceFrame.prototype._didEditContent):
1043         (WebInspector.StyleSourceFrame.prototype._onContentChanged):
1044         * inspector/front-end/UISourceCode.js:
1045         (WebInspector.UISourceCode.prototype._revisionAdded):
1046         (WebInspector.UISourceCode.prototype.contentChanged):
1047         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1048         * inspector/front-end/inspector.js:
1049         (WebInspector._doLoadedDoneWithCapabilities.get if):
1050
1051 2012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1052
1053         GCC 4.7 and C++11
1054         https://bugs.webkit.org/show_bug.cgi?id=86465
1055
1056         Reviewed by Darin Adler.
1057
1058         Avoid triggering C++11 string literals and use nullptr for correct type casting.
1059
1060         * bindings/js/JSNodeFilterCondition.cpp:
1061         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1062         * platform/sql/SQLiteFileSystem.cpp:
1063         (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):
1064
1065 2012-05-18  Michael Nordman  <michaeln@google.com>
1066
1067         [chromium] DomStorage events handling needs TLC (2)
1068         https://bugs.webkit.org/show_bug.cgi?id=85221
1069         Alter the StorageArea virtual interface such that the mutators no longer
1070         return old values. This is to allow implementations of the interface to operate
1071         more asynchronously.
1072
1073         Reviewed by Adam Barth.
1074
1075         No new tests. Existing tests cover this.
1076
1077         * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
1078         * storage/StorageAreaImpl.cpp:
1079         (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
1080         (WebCore::StorageAreaImpl::setItem): no longer return the old value
1081         (WebCore::StorageAreaImpl::removeItem): no longer return the old value
1082         (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
1083         * storage/StorageAreaImpl.h: match StorageArea's virtual interface
1084
1085
1086 2012-05-21  MORITA Hajime  <morrita@google.com>
1087
1088         [Refactoring] Node should have youngestShadowRoot.
1089         https://bugs.webkit.org/show_bug.cgi?id=86427
1090
1091         Reviewed by Dimitri Glazkov.
1092
1093         This change adds Node::youngestShadowRoot() and replaced
1094         ElementShadow::youngestShadowRoot() with it if appropriate.
1095
1096         By introducing this, traversal across node and its shadow tree can
1097         look more fluent and idiomatic. There are a few non-trivial traversal
1098         remaining like ElementShadow::recalcStyle() and attach().
1099         But they should be flattened out eventually.
1100
1101         No new tests. Refactoring.
1102
1103         * dom/ContainerNodeAlgorithms.cpp:
1104         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
1105         * dom/Document.cpp:
1106         (WebCore::Document::buildAccessKeyMap):
1107         * dom/ElementShadow.cpp:
1108         * dom/ElementShadow.h:
1109         (ElementShadow):
1110         (WebCore::Node::youngestShadowRoot):
1111         (WebCore):
1112         * dom/Node.h:
1113         (Node):
1114         * dom/TreeScopeAdopter.cpp:
1115         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1116         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
1117         * dom/TreeScopeAdopter.h:
1118         (TreeScopeAdopter):
1119         * html/shadow/TextFieldDecorationElement.cpp:
1120         (WebCore::getDecorationRootAndDecoratedRoot):
1121
1122 2012-05-21  Christophe Dumez  <christophe.dumez@intel.com>
1123
1124         Add support for MessagePortArray type to JSC
1125         https://bugs.webkit.org/show_bug.cgi?id=84093
1126
1127         Reviewed by Adam Barth.
1128
1129         Add support for MessagePortArray type to JSC code generator similarly
1130         to what was done for the V8 generator in r114319.
1131
1132         Update bindings test results to reflect to change to the bindings
1133         generator.
1134
1135         * CMakeLists.txt: Add new DeliveredIntent files to CMake.
1136         * bindings/js/JSDOMBinding.h:
1137         (WebCore):
1138         (WebCore::jsArray): Tweak jsArray() so that it accepts MessagePortArray as argument.
1139         * bindings/scripts/CodeGeneratorJS.pm:
1140         (JSValueToNative):
1141         (NativeToJSValue):
1142         * bindings/scripts/test/JS/JSTestObj.cpp:
1143         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1144         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1145         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1146         (WebCore::jsTestSerializedScriptValueInterfacePorts):
1147         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
1148         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
1149         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
1150         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
1151
1152 2012-05-21  Alexander Pavlov  <apavlov@chromium.org>
1153
1154         Web Inspector: [Styles] Cannot tab from selector of inherited rule, which in turn has leading inherited properties
1155         https://bugs.webkit.org/show_bug.cgi?id=87014
1156
1157         Reviewed by Yury Semikhatsky.
1158
1159         * inspector/front-end/StylesSidebarPane.js:
1160         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
1161
1162 2012-05-21  Greg Billock  <gbillock@google.com>
1163
1164         Add suggestions field to web intents API.
1165         https://bugs.webkit.org/show_bug.cgi?id=86791
1166
1167         Reviewed by Adam Barth.
1168
1169         The |suggestions| field is used by the client to avoid an empty
1170         web intents selection window (picker). The UA can add the given
1171         suggestions to the picker if it would otherwise be empty. See
1172         http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html#intent-parameters-dictionary
1173
1174         * Modules/intents/DeliveredIntent.cpp:
1175         (WebCore::DeliveredIntent::DeliveredIntent):
1176         * Modules/intents/Intent.cpp:
1177         (WebCore::Intent::create):
1178         (WebCore::Intent::Intent):
1179         * Modules/intents/Intent.h:
1180         (WebCore::Intent::suggestions):
1181         (Intent):
1182
1183 2012-05-21  Stephen Chenney  <schenney@chromium.org>
1184
1185         SVGAnimatedPropertyTearOff does not clear a self pointer on deletion
1186         https://bugs.webkit.org/show_bug.cgi?id=86119
1187
1188         Reviewed by Nikolas Zimmermann.
1189
1190         SVGAnimatedPropertyTearOff contains two SVGPropertyTearOff objects
1191         that have a pointer back to the SVGAnimatedPropertyTearOff. JS may
1192         also have a reference to these SVGPropertyTearOff objects. When the
1193         SVGAnimatedPropertyTearOff is deleted, the SVGPropertyTearOff objects
1194         may live on, but the pointer back to the deleted animated property
1195         tear off is left invalid. This patch clears the pointers on destruction
1196         of the SVGAnimatedPropertyTearOff.
1197
1198         Test: svg/custom/bug86119.html
1199
1200         * svg/properties/SVGAnimatedPropertyTearOff.h:
1201         (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
1202         (SVGAnimatedPropertyTearOff):
1203
1204 2012-05-21  Stephen Chenney  <schenney@chromium.org>
1205
1206         [Chromium] REGRESSION: Assertion failure on svg/custom/acid3-test-77.html
1207         https://bugs.webkit.org/show_bug.cgi?id=86715
1208
1209         Reviewed by Nikolas Zimmermann.
1210
1211         Calls to clear the text positioning elements in RenderSVGText must be
1212         protected with a FontCachePurgeProtector so that fonts are not removed
1213         before the SVG metrics are rebuilt. The protection must cover both the
1214         cache clearing and the reconstruction calls.
1215
1216         Patch fixes existing tests.
1217
1218         * rendering/svg/RenderSVGText.cpp:
1219         (WebCore::RenderSVGText::subtreeChildWasAdded):
1220         (WebCore::RenderSVGText::subtreeChildWasRemoved):
1221         (WebCore::RenderSVGText::subtreeTextDidChange):
1222         (WebCore::RenderSVGText::removeChild):
1223
1224 2012-05-21  Stephen Chenney  <schenney@chromium.org>
1225
1226         SVGTextRunRenderingContext can return null font, calling code asserts not null
1227         https://bugs.webkit.org/show_bug.cgi?id=86738
1228
1229         Reviewed by Nikolas Zimmermann.
1230
1231         SVGTextRunRenderingContext::glyphDataForCharacter was returning a glyph with
1232         null font data for numerous code paths. It seems that it was doing so
1233         whenever it detected null fontData, rather than try to continue.
1234         Calling code would then immediately assert on this null fontData.
1235
1236         This patch refactors SVGTextRunRenderingContext::glyphDataForCharacter
1237         so that it never returns null font data, adding an assertion to that
1238         effect. In particular, when the font data is null the code will reach
1239         the fallback glyph calculations.
1240
1241         Refactoring covered by existing tests. A previously crashing test, svg/custom/acid3-test-77.html, no longer crashes.
1242
1243         * rendering/svg/SVGTextRunRenderingContext.cpp:
1244         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
1245
1246 2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
1247
1248         Web Inspector: switch buildDominatedNodes function to front-end calculated _dominatorsTree
1249         https://bugs.webkit.org/show_bug.cgi?id=87022
1250
1251         The new version is using _dominatorsTree array that was build at front-end.
1252
1253         Reviewed by Yury Semikhatsky.
1254
1255         * inspector/front-end/HeapSnapshot.js:
1256         (WebInspector.HeapSnapshot.prototype._init):
1257         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1258
1259 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1260
1261         Web Inspector: change WebCore/English.lproj/locallizedStrings encoding from UTF-16 to UTF-8.
1262         https://bugs.webkit.org/show_bug.cgi?id=86822
1263
1264         Reviewed by Yury Semikhatsky.
1265
1266         * English.lproj/localizedStrings.js:
1267
1268 2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
1269
1270         Web Inspector: Move working copy support to UISourceCode and use it for both styles and scripts.
1271         https://bugs.webkit.org/show_bug.cgi?id=87021
1272
1273         Reviewed by Pavel Feldman.
1274
1275         UISourceCode now listens for RevisionAdded event.
1276         Virtual methods workingCopyChanged and workingCopyCommitted added to UISourceCode and implemented in descendants.
1277         DebuggerResourceBinding does not call contentChanged on UISourceCode explicitly anymore.
1278
1279         * inspector/front-end/DebuggerResourceBinding.js:
1280         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
1281         (WebInspector.DebuggerResourceBinding.setScriptSource):
1282         * inspector/front-end/JavaScriptSource.js:
1283         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
1284         * inspector/front-end/JavaScriptSourceFrame.js:
1285         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
1286         * inspector/front-end/ScriptSnippetModel.js:
1287         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
1288         * inspector/front-end/StylesPanel.js:
1289         (WebInspector.StyleSource.prototype.workingCopyCommitted):
1290         (WebInspector.StyleSource.prototype.workingCopyChanged):
1291         (WebInspector.StyleSourceFrame):
1292         (WebInspector.StyleSourceFrame.prototype.commitEditing):
1293         (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
1294         (WebInspector.StyleSourceFrame.prototype._didEditContent):
1295         (WebInspector.StyleSourceFrame.prototype._onContentChanged):
1296         * inspector/front-end/UISourceCode.js:
1297         (WebInspector.UISourceCode):
1298         (WebInspector.UISourceCode.prototype._revisionAdded):
1299         (WebInspector.UISourceCode.prototype.contentChanged):
1300         (WebInspector.UISourceCode.prototype.workingCopy):
1301         (WebInspector.UISourceCode.prototype.setWorkingCopy):
1302         (WebInspector.UISourceCode.prototype.workingCopyChanged):
1303         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1304         (WebInspector.UISourceCode.prototype.workingCopyCommitted):
1305
1306 2012-05-21  Andrey Kosyakov  <caseq@chromium.org>
1307
1308         Web Inspector: [refactoring] promote fill/border colors used by timeline's frame overview to TimelineCategory
1309         https://bugs.webkit.org/show_bug.cgi?id=87016
1310
1311         Reviewed by Pavel Feldman.
1312
1313         - drop unused 'color' field from TimelineCategory;
1314         - add borderColor and fillColorStop[0-1] to TimelineCategory;
1315         - fix style in a handful of places.
1316
1317         Note we store textual values for color stops, not premade gradients so we can build gradients with different
1318         orientations rather than transforming a gradient.
1319
1320         * inspector/front-end/TimelineOverviewPane.js:
1321         (WebInspector.HeapGraph):
1322         (WebInspector.HeapGraph.prototype.get element):
1323         (WebInspector.HeapGraph.prototype.get visible):
1324         (WebInspector.HeapGraph.prototype.show):
1325         (WebInspector.HeapGraph.prototype.hide):
1326         (WebInspector.HeapGraph.prototype._clear):
1327         (WebInspector.TimelineCategoryStrips):
1328         (WebInspector.TimelineVerticalOverview):
1329         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
1330         * inspector/front-end/TimelinePresentationModel.js:
1331         (WebInspector.TimelinePresentationModel.categories):
1332         (WebInspector.TimelinePresentationModel.recordStyle):
1333         (WebInspector.TimelineCategory):
1334
1335 2012-05-21  'Pavel Feldman'  <pfeldman@chromium.org>
1336
1337         Web Inspector: declare setFormatted on UISourceCode (otherwise fails for styles).
1338
1339         Not reviewed: front-end fix as a follow up to r117751.
1340
1341         * inspector/front-end/UISourceCode.js:
1342         (WebInspector.UISourceCode.prototype.consoleMessagesCleared):
1343         (WebInspector.UISourceCode.prototype.setFormatted):
1344
1345 2012-05-21  Yury Semikhatsky  <yurys@chromium.org>
1346
1347         Unreviewed. Fix Closure compiler error after r117753.
1348
1349         * inspector/front-end/HeapSnapshotGridNodes.js:
1350         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
1351
1352 2012-05-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1353
1354         Move setEditingBehavior() from layoutTestController to window.internals
1355         https://bugs.webkit.org/show_bug.cgi?id=42689
1356
1357         Reviewed by Hajime Morita and Kenneth Rohde Christiansen.
1358
1359         Add setEditingBehavior() to window.internals.settings. No new tests, but this
1360         change will allow more tests to run in WebKitTestRunner.
1361
1362         * testing/InternalSettings.cpp:
1363         (WebCore::InternalSettings::InternalSettings):
1364         (WebCore::InternalSettings::restoreTo):
1365         (WebCore::InternalSettings::setEditingBehavior):
1366         (WebCore):
1367         * testing/InternalSettings.h:
1368         (InternalSettings):
1369         * testing/InternalSettings.idl:
1370
1371 2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
1372
1373         Web Inspector: Temporary UISourceCode should be replaced each time another inline script is added in RawSourceCode with pending request.
1374         https://bugs.webkit.org/show_bug.cgi?id=87003
1375
1376         Reviewed by Pavel Feldman.
1377
1378         This is needed to correctly show document content when debugger stops on several breakpoints in different scripts during page load.
1379
1380         * inspector/front-end/RawSourceCode.js:
1381         (WebInspector.RawSourceCode.prototype.addScript):
1382         (WebInspector.RawSourceCode.prototype._finishedLoading):
1383
1384 2012-05-20  Kinuko Yasuda  <kinuko@chromium.org>
1385
1386         Cleanup: Remove WebCore::revealFolderInOS() which is no longer used anywhere
1387         https://bugs.webkit.org/show_bug.cgi?id=86993
1388
1389         Reviewed by Adam Barth.
1390
1391         No new tests as this must be just removing dead code.
1392
1393         * platform/FileSystem.h:
1394         * platform/chromium/FileSystemChromium.cpp:
1395         * platform/chromium/PlatformSupport.h:
1396         (PlatformSupport):
1397
1398 2012-05-21  Alexander Pavlov  <apavlov@chromium.org>
1399
1400         Web Inspector: Annotate CSSStyleModel.js for the closure compiler
1401         https://bugs.webkit.org/show_bug.cgi?id=86858
1402
1403         Reviewed by Yury Semikhatsky.
1404
1405         * inspector/front-end/CSSStyleModel.js:
1406         (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
1407         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
1408         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1409         (WebInspector.CSSProperty.parsePayload):
1410         (WebInspector.CSSProperty.prototype.setText):
1411         (WebInspector.CSSProperty.prototype.setDisabled):
1412         (WebInspector.CSSStyleSheet.prototype.setText):
1413         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
1414         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
1415         (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
1416
1417 2012-05-21  Rakesh KN  <rakesh.kn@motorola.com>
1418
1419         [Forms] Refactor HTMLFormCollection
1420         https://bugs.webkit.org/show_bug.cgi?id=86602
1421
1422         Reviewed by Kent Tamura.
1423
1424         Modify HTMLFormCollection to be independent of HTMLFormElement which is needed
1425         for implementing HTMLFieldSetElement's element attribute.
1426
1427         Covered by existing tests.
1428
1429         * html/HTMLFormCollection.cpp:
1430         (WebCore::HTMLFormCollection::HTMLFormCollection):
1431         Modified to take more generic HTMLElement* instead of HTMLFormElement* so that
1432         HTMLFormCollection for HTMLFieldSetElement can also be created.
1433         (WebCore::HTMLFormCollection::create): Ditto.
1434         (WebCore::HTMLFormCollection::formControlElements):
1435         Helper function for getting the array of FormAssociatedElements for this form.
1436         (WebCore::HTMLFormCollection::formImageElements):
1437         Helper function for getting the array of image elements for this form.
1438         (WebCore::HTMLFormCollection::numberOfFormControlElements):
1439         Helper function for getting the number of elements in this form.
1440         (WebCore::HTMLFormCollection::calcLength):
1441         Modified to use new helper functions defined for getting the FormAssociatedElements
1442         and image elements array instead of static_cast to HTMLFormElement.
1443         (WebCore::HTMLFormCollection::item): Ditto.
1444         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
1445         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
1446         * html/HTMLFormCollection.h:
1447         (WebCore):
1448         (HTMLFormCollection):
1449         * html/HTMLFormElement.h:
1450         (WebCore::HTMLFormElement::imageElements):
1451         New accessor for image elements array of form element.
1452         Also HTMLFormCollection is not needed to be friend of HTMLFormElement as collection
1453         does not access the form element memebers directly now.
1454
1455 2012-05-21  Yury Semikhatsky  <yurys@chromium.org>
1456
1457         Web Inspector: expand only neighbors of the highlighted node when revealing it in heap snapshot
1458         https://bugs.webkit.org/show_bug.cgi?id=86998
1459
1460         Reviewed by Pavel Feldman.
1461
1462         Only nearest nodes are expanded when a node is revealed in heap snapshot
1463         summary view.
1464
1465         * inspector/front-end/HeapSnapshotDataGrids.js:
1466         (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
1467         (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
1468         (WebInspector.HeapSnapshotViewportDataGrid.prototype._isScrolledIntoView):
1469         * inspector/front-end/HeapSnapshotGridNodes.js:
1470         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
1471         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
1472         * inspector/front-end/ProfilesPanel.js:
1473         (WebInspector.ProfilesPanel.prototype.showProfile):
1474
1475 2012-05-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1476
1477         [EFL] PlatformKeyboardEventEfl is missing ESC key handling.
1478         https://bugs.webkit.org/show_bug.cgi?id=86837
1479
1480         Reviewed by Kenneth Rohde Christiansen.
1481
1482         Added ESC key handling.
1483
1484         * platform/efl/EflKeyboardUtilities.cpp:
1485         (WebCore::createKeyMap):
1486         (WebCore::singleCharacterString):
1487
1488 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1489
1490         Web Inspector: move sources panel out of experimental.
1491         https://bugs.webkit.org/show_bug.cgi?id=86997
1492
1493         Reviewed by Yury Semikhatsky.
1494
1495         This change moves sources panel out of experimental, removes revision support from the resources panel.
1496
1497         * English.lproj/localizedStrings.js:
1498         * inspector/front-end/JavaScriptSourceFrame.js:
1499         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
1500         (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
1501         * inspector/front-end/ResourceView.js:
1502         * inspector/front-end/ResourcesPanel.js:
1503         (WebInspector.ResourcesPanel.prototype._showResourceView):
1504         (WebInspector.FrameTreeElement.prototype.appendResource):
1505         (WebInspector.FrameResourceTreeElement):
1506         (WebInspector.FrameResourceTreeElement.prototype.sourceView):
1507         * inspector/front-end/ScriptsNavigator.js:
1508         (WebInspector.ScriptsNavigator):
1509         * inspector/front-end/ScriptsPanel.js:
1510         (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel):
1511         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
1512         * inspector/front-end/Settings.js:
1513         (WebInspector.ExperimentsSettings):
1514         * inspector/front-end/SourceFrame.js:
1515         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
1516         * inspector/front-end/textViewer.css:
1517         * inspector/front-end/utilities.js:
1518
1519 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1520
1521         Web Inspector: implement revision history view.
1522         https://bugs.webkit.org/show_bug.cgi?id=86966
1523
1524         Reviewed by Yury Semikhatsky.
1525
1526         Added revision view into the drawer. It now lists all the revisions
1527         along with the inline diffs. Once source panel is enabled by default,
1528         this view will completely substitute the one in the resources panel.
1529         See the screenshot attached. View is updated when revisions are added
1530         and when editor view is switched.
1531
1532         * English.lproj/localizedStrings.js:
1533         * WebCore.gypi:
1534         * WebCore.vcproj/WebCore.vcproj:
1535         * inspector/compile-front-end.py:
1536         * inspector/front-end/AdvancedSearchController.js:
1537         (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
1538         * inspector/front-end/ContextMenu.js:
1539         (WebInspector.ContextMenu.prototype._itemSelected):
1540         (WebInspector.ContextMenu.prototype.appendApplicableItems):
1541         (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems):
1542         (WebInspector.ContextMenu.registerProvider):
1543         * inspector/front-end/JavaScriptSourceFrame.js:
1544         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
1545         * inspector/front-end/Resource.js:
1546         (WebInspector.ResourceRevision.prototype.revertToThis):
1547         * inspector/front-end/RevisionHistoryView.js: Added.
1548         (WebInspector.RevisionHistoryView):
1549         (WebInspector.RevisionHistoryView.showHistory):
1550         (WebInspector.RevisionHistoryView.uiSourceCodeSelected):
1551         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
1552         (WebInspector.RevisionHistoryView.prototype._onclose):
1553         (WebInspector.RevisionHistoryTreeElement.else.revert):
1554         (WebInspector.RevisionHistoryTreeElement):
1555         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step1):
1556         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
1557         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
1558         (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
1559         (WebInspector.RevisionHistoryTreeElement.prototype._diff.popsym):
1560         (WebInspector.RevisionHistoryTreeElement.prototype._diff):
1561         * inspector/front-end/ScriptsPanel.js:
1562         (WebInspector.ScriptsPanel.prototype._editorSelected):
1563         (WebInspector.ScriptsPanel.prototype.registerUISourceCodeProvider):
1564         (WebInspector.ScriptsPanel.prototype._showLocalHistory):
1565         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
1566         * inspector/front-end/StylesPanel.js:
1567         (WebInspector.StyleSourceFrame.prototype._contentChanged):
1568         (WebInspector.StyleSourceFrame.prototype.populateTextAreaContextMenu):
1569         * inspector/front-end/WebKit.qrc:
1570         * inspector/front-end/inspector.css:
1571         (#search-results-pane-file-based .search-result):
1572         (#search-results-pane-file-based .search-result:hover):
1573         (#search-results-pane-file-based .search-match:hover):
1574         (#search-results-pane-file-based .search-match .search-match-content):
1575         * inspector/front-end/inspector.html:
1576         * inspector/front-end/scriptsPanel.css:
1577         (.outline-disclosure.revision-history-drawer):
1578         (.outline-disclosure.revision-history-drawer ol):
1579         (.outline-disclosure.revision-history-drawer > ol):
1580         (.outline-disclosure.revision-history-drawer li):
1581         (.outline-disclosure.revision-history-drawer li.parent):
1582         (.revision-history-link):
1583         (.outline-disclosure.revision-history-drawer .revision-history-line):
1584         (.revision-history-drawer .webkit-line-number):
1585         (.revision-history-line-added):
1586         (.revision-history-line-removed):
1587         * inspector/front-end/textViewer.css:
1588         (.webkit-added-line.webkit-line-number):
1589         (.webkit-removed-line.webkit-line-number):
1590         (.webkit-changed-line.webkit-line-number):
1591
1592 2012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
1593
1594         Web Inspector: upstream build dominators tree procedure from v8.
1595         https://bugs.webkit.org/show_bug.cgi?id=86640
1596
1597         The idea is to reduce transfer size and move all the post-processing steps to the front-end.
1598         The JS implementation is ~1.5 times slower.
1599
1600         Reviewed by Yury Semikhatsky.
1601
1602         Covered by existing tests and performance tests.
1603
1604         * inspector/front-end/HeapSnapshot.js:
1605         (WebInspector.HeapSnapshot.prototype._init):
1606         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1607         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
1608         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
1609         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
1610         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
1611         (WebInspector.HeapSnapshot.prototype._calculateFlags):
1612
1613 2012-05-21  Mike Lawther  <mikelawther@chromium.org>
1614
1615         Crash in -webkit-calc
1616         https://bugs.webkit.org/show_bug.cgi?id=86954
1617
1618         Reviewed by Abhishek Arya.
1619
1620         Ensure that both ends of a blend are checked for being Calculated. The current
1621         check did not cover the case where the 'from' end was Calculated and nonzero,
1622         and the 'to' end was zero and not Calculated. 
1623
1624         Blending doesn't work with calculated expressions and is being tracked in
1625         bug http://webkit.org/b/86160
1626
1627         Tests: css3/calc/transition-crash3.html
1628                css3/calc/transition-crash4.html
1629
1630         * platform/Length.h:
1631         (WebCore::Length::blend):
1632
1633 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1634
1635         Web Inspector: make search results view more dense
1636         https://bugs.webkit.org/show_bug.cgi?id=86937
1637
1638         Reviewed by Yury Semikhatsky.
1639
1640         - moved search field to the 'drawer status bar'
1641         - search view is now shown on scripts panel only
1642         - switching from the scripts panel closes the search view
1643         - beautified the looks (see the screenshot)
1644
1645         * English.lproj/localizedStrings.js:
1646         * inspector/front-end/AdvancedSearchController.js:
1647         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
1648         (WebInspector.AdvancedSearchController.prototype.show):
1649         (WebInspector.AdvancedSearchController.prototype.close):
1650         (WebInspector.SearchView):
1651         (WebInspector.FileBasedSearchResultsPane):
1652         * inspector/front-end/ScriptsPanel.js:
1653         (WebInspector.ScriptsPanel.prototype.willHide):
1654         * inspector/front-end/externs.js:
1655         (WebInspector.showViewInDrawer):
1656         (WebInspector.closeViewInDrawer):
1657         * inspector/front-end/inspector.css:
1658         (.search-drawer-header input[type="search"].search-config-search):
1659         (.search-drawer-header label.search-config-label):
1660         (.search-drawer-header input[type="checkbox"].search-config-checkbox):
1661         (body:not(.platform-mac) .search-drawer-header input[type="checkbox"].search-config-checkbox):
1662         (body.platform-mac .search-drawer-header input[type="checkbox"].search-config-checkbox):
1663         (.drawer-header):
1664         (.drawer-header-close-button):
1665         (.drawer-header-close-button:hover):
1666         (.drawer-header-close-button:active):
1667         (.search-view .search-results):
1668         (#search-results-pane-file-based li):
1669         (#search-results-pane-file-based ol):
1670         (#search-results-pane-file-based ol.children):
1671         (#search-results-pane-file-based ol.children.expanded):
1672         (#search-results-pane-file-based li.parent::before):
1673         (#search-results-pane-file-based li.parent.expanded::before):
1674         (#search-results-pane-file-based .search-result):
1675         (#search-results-pane-file-based .show-more-matches):
1676         * inspector/front-end/inspector.js:
1677         (WebInspector.showViewInDrawer.closeButtonPressed):
1678         (WebInspector.showViewInDrawer):
1679         (WebInspector.closeViewInDrawer):
1680         (WebInspector.postDocumentKeyDown):
1681
1682 2012-05-18  Andreas Kling  <kling@webkit.org>
1683
1684         REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
1685         <http://webkit.org/b/86935>
1686         <rdar://problem/11480012>
1687
1688         Reviewed by Anders Carlsson.
1689
1690         - Correctly set m_retainOrReleaseIconRequested to true in retainIconForPageURL().
1691           This was causing the assertions, as we would end up doing nothing until the first
1692           icon release request came in.
1693
1694         - Require that m_urlsToRetainOrReleaseLock be held when accessing m_retainOrReleaseIconRequested.
1695           This removes a possible race condition in double checked locking.
1696
1697         - Swap over the retain/release work queues while holding m_urlsToRetainOrReleaseLock
1698           and release it right away to avoid sitting on the lock while updating the database.
1699
1700         * loader/icon/IconDatabase.cpp:
1701         (WebCore::IconDatabase::synchronousIconForPageURL):
1702         (WebCore::IconDatabase::retainIconForPageURL):
1703         (WebCore::IconDatabase::releaseIconForPageURL):
1704         (WebCore::IconDatabase::retainedPageURLCount):
1705         (WebCore::IconDatabase::performURLImport):
1706         (WebCore::IconDatabase::syncThreadMainLoop):
1707         (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
1708         * loader/icon/IconDatabase.h:
1709         (IconDatabase):
1710
1711 2012-05-21  Kent Tamura  <tkent@chromium.org>
1712
1713         Unreviewed, build fix.
1714
1715         * html/StepRange.cpp:
1716         (WebCore::StepRange::parseStep): Remove bogus asssetions.
1717
1718 2012-05-21  Kent Tamura  <tkent@chromium.org>
1719
1720         Unreviewed, build fix.
1721
1722         * html/StepRange.cpp:
1723         (WebCore::StepRange::StepRange): Remove another ASSERT_NOT_REACHED.
1724
1725 2012-05-21  Kent Tamura  <tkent@chromium.org>
1726
1727         Unreviewed, build fix.
1728
1729         * html/StepRange.h:
1730         (WebCore::StepRange::StepDescription::StepDescription):
1731         Remove ASSERT_NOT_REACHED.
1732
1733 2012-05-21  Yoshifumi Inoue  <yosin@chromium.org>
1734
1735         [Forms] Move numeric related methods in HTMLInputElement class to another place
1736         https://bugs.webkit.org/show_bug.cgi?id=82034
1737
1738         Reviewed by Kent Tamura.
1739
1740         This patch moves step and range related methods into StepRange class
1741         for ease of using step calculation other than double floating point
1742         number arithmetic, e.g. decimal, long double, and so on.
1743
1744         New class StepRange::StepDescription holds values for calculating
1745         stepped value, defaultStep, defaultStepBase, integer rounding flags,
1746         step scale factor instead of virtual methods in InputType class.
1747
1748         No new tests because of this patch doesn't change behavior.
1749
1750         * WebCore.xcodeproj/project.pbxproj: Set attribute of StepRange.h to "Private" for including it in HTMLInputElement.cpp.
1751         * html/BaseDateAndTimeInputType.cpp:
1752         (WebCore::InputType::rangeOverflow): Moved to use InputType class.
1753         (WebCore::InputType::rangeUnderflow): Moved to use InputType class.
1754         (WebCore::BaseDateAndTimeInputType::stepMismatch): Moved to use stepRange.
1755         * html/BaseDateAndTimeInputType.h:
1756         (BaseDateAndTimeInputType): Removed method declaration for stepBase.
1757         * html/DateInputType.cpp:
1758         (WebCore::DateInputType::setupStepRange): Added.
1759         * html/DateInputType.h:
1760         (DateInputType): Removed method declarations.
1761         * html/DateTimeInputType.cpp:
1762         (WebCore::DateTimeInputType::defaultStep): Removed.
1763         (WebCore::DateTimeInputType::maximum): Removed.
1764         (WebCore::DateTimeInputType::minimum): Removed.
1765         (WebCore::DateTimeInputType::setupStepRange): Added
1766         (WebCore::DateTimeInputType::stepScaleFactor): Removed.
1767         * html/DateTimeInputType.h:
1768         (DateTimeInputType): Removed deprecated method declarations.
1769         * html/DateTimeLocalInputType.cpp:
1770         (WebCore::DateTimeLocalInputType::defaultStep): Removed.
1771         (WebCore::DateTimeLocalInputType::maximum): Removed.
1772         (WebCore::DateTimeLocalInputType::minimum): Removed.
1773         (WebCore::DateTimeLocalInputType::setupStepRange): Added.
1774         (WebCore::DateTimeLocalInputType::stepScaleFactor): Removed.
1775         * html/DateTimeLocalInputType.h:
1776         (DateTimeLocalInputType):
1777         * html/HTMLInputElement.cpp:
1778         (WebCore::HTMLInputElement::isInRange): Changed to call InputType::isInRange.
1779         (WebCore::HTMLInputElement::isOutOfRange): Changed to call InputType::isOutOfRange.
1780         (WebCore::HTMLInputElement::setupStepRange): Added.
1781         * html/HTMLInputElement.h:
1782         (HTMLInputElement):
1783         * html/InputType.cpp:
1784         (WebCore::InputType::acceptableError): Moved to StepRange class.
1785         (WebCore::InputType::alignValueForStep): Moved to StepRange class.
1786         (WebCore::InputType::minimum): Changed to use StepRange class.
1787         (WebCore::InputType::maximum): Changed to use StepRange class.
1788         (WebCore::InputType::parseToDouble): Changed to have ASSERT_NOT_REACHED.
1789         (WebCore::InputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
1790         (WebCore::InputType::validationMessage):  Changed to use StepRange class.
1791         (WebCore::InputType::applyStep):  Changed to use StepRange class.
1792         (WebCore::InputType::getAllowedValueStep):  Changed to use StepRange class.
1793         (WebCore::InputType::isInRange): Added.
1794         (WebCore::InputType::isOutOfRange): Added.
1795         (WebCore::InputType::rangeOverflow): Changed to use StepRange class.
1796         (WebCore::InputType::rangeUnderflow): Changed to use StepRange class.
1797         (WebCore::InputType::setupStepRange): Added.
1798         (WebCore::InputType::stepUpFromRenderer):  Changed to use StepRange class.
1799         (WebCore::InputType::stepMismatch): Changed to use StepRange class.
1800         * html/InputType.h:
1801         (InputType):
1802         * html/MonthInputType.cpp:
1803         (WebCore::MonthInputType::defaultStep): Removed.
1804         (WebCore::MonthInputType::maximum): Removed.
1805         (WebCore::MonthInputType::minimum): Removed.
1806         (WebCore::MonthInputType::setupStepRange): Added.
1807         (WebCore::MonthInputType::stepScaleFactor): Removed.
1808         * html/MonthInputType.h:
1809         (MonthInputType):
1810         * html/NumberInputType.cpp:
1811         (WebCore):
1812         (WebCore::NumberInputType::defaultStep): Removed.
1813         (WebCore::NumberInputType::maximum): Removed.
1814         (WebCore::NumberInputType::minimum): Removed.
1815         (WebCore::NumberInputType::rangeOverflow): Moved to InputType class.
1816         (WebCore::NumberInputType::rangeUnderflow): Moved to InputType class.
1817         (WebCore::NumberInputType::setupStepRange): Added.
1818         (WebCore::NumberInputType::stepMismatch): Moved to InputType class.
1819         (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
1820         (WebCore::NumberInputType::stepScaleFactor): Removed.
1821         * html/NumberInputType.h:
1822         (NumberInputType):
1823         * html/RangeInputType.cpp:
1824         (WebCore::RangeInputType::defaultStep): Removed.
1825         (WebCore::RangeInputType::maximum): Removed.
1826         (WebCore::RangeInputType::minimum): Removed.
1827         (WebCore::RangeInputType::setupStepRange): Added.
1828         (WebCore::RangeInputType::stepScaleFactor): Removed.
1829         (WebCore::RangeInputType::handleKeydownEvent): Changed to use StepRange class.
1830         (WebCore::RangeInputType::fallbackValue): Changed to use StepRange class.
1831         (WebCore::RangeInputType::sanitizeValue): Changed to use StepRange class.
1832         * html/RangeInputType.h:
1833         (RangeInputType):
1834         * html/StepRange.cpp:
1835         (WebCore::StepRange::StepRange): Added.
1836         (WebCore::StepRange::clampValue): Changed for member variable name changes.
1837         (WebCore::StepRange::hasStep): Added.
1838         (WebCore::StepRange::maximum): Added.
1839         (WebCore::StepRange::minimum): Added.
1840         (WebCore::StepRange::step): Added.
1841         (WebCore::StepRange::stepBase): Added.
1842         (WebCore::StepRange::stepDecimalPlaces): Added.
1843         (WebCore::StepRange::stepScaleFactor): Added.
1844         (WebCore::StepRange::setHasStep): Added.
1845         (WebCore::StepRange::setup): Added.
1846         (WebCore::StepRange::parse): Added.
1847         * html/StepRange.h:
1848         (StepDescription): Added
1849         (WebCore::StepRange::StepDescription::StepDescription):
1850         (WebCore::StepRange::acceptableError): Moved from InputType class.
1851         (WebCore::StepRange::alignValueForStep): Moved from InputType class.
1852         (WebCore::StepRange::defaultValue): Changed for member variable name changes.
1853         (WebCore::StepRange::proportionFromValue): Changed for member variable name changes.
1854         (WebCore::StepRange::valueFromProportion): Changed for member variable name changes.
1855         * html/TimeInputType.cpp:
1856         (WebCore::TimeInputType::defaultStep): Removed.
1857         (WebCore::TimeInputType::maximum): Removed.
1858         (WebCore::TimeInputType::minimum): Removed.
1859         (WebCore::TimeInputType::setupStepRange): Added.
1860         (WebCore::TimeInputType::stepScaleFactor): Removed.
1861         * html/TimeInputType.h:
1862         (TimeInputType):
1863         * html/WeekInputType.cpp:
1864         (WebCore):
1865         (WebCore::WeekInputType::defaultStep): Removed.
1866         (WebCore::WeekInputType::maximum): Removed.
1867         (WebCore::WeekInputType::minimum): Removed.
1868         (WebCore::WeekInputType::setupStepRange): Added.
1869         (WebCore::WeekInputType::stepScaleFactor): Removed.
1870         * html/WeekInputType.h:
1871         (WeekInputType):
1872         * html/shadow/SliderThumbElement.cpp:
1873         (WebCore::sliderPosition): Changed to use StepRange class.
1874         (WebCore::SliderThumbElement::setPositionFromPoint): Changed to use StepRange class.
1875
1876 2012-05-21  Kentaro Hara  <haraken@chromium.org>
1877
1878         [V8] Pass Isolate to throwNotEnoughArgumentsError()
1879         https://bugs.webkit.org/show_bug.cgi?id=86983
1880
1881         Reviewed by Adam Barth.
1882
1883         The objective is to pass Isolate around in V8 bindings.
1884         This patch passes Isolate to throwNotEnoughArgumentsError().
1885
1886         No tests. No change in behavior.
1887
1888         * bindings/scripts/CodeGeneratorV8.pm:
1889         (GenerateArgumentsCountCheck):
1890         (GenerateEventConstructorCallback):
1891         * bindings/scripts/test/V8/V8Float64Array.cpp:
1892         (WebCore::Float64ArrayV8Internal::fooCallback):
1893         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1894         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
1895         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
1896         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1897         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
1898         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1899         (WebCore::V8TestEventConstructor::constructorCallback):
1900         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1901         (WebCore::TestEventTargetV8Internal::itemCallback):
1902         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
1903         * bindings/scripts/test/V8/V8TestInterface.cpp:
1904         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1905         (WebCore::V8TestInterface::constructorCallback):
1906         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1907         (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
1908         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1909         (WebCore::V8TestNamedConstructorConstructorCallback):
1910         * bindings/scripts/test/V8/V8TestObj.cpp:
1911         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
1912         (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
1913         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
1914         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
1915         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
1916         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1917         (WebCore::TestObjV8Internal::serializedValueCallback):
1918         (WebCore::TestObjV8Internal::idbKeyCallback):
1919         (WebCore::TestObjV8Internal::optionsObjectCallback):
1920         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
1921         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
1922         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
1923         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
1924         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1925         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
1926         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
1927         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
1928         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
1929         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
1930         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
1931         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
1932         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
1933         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
1934         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
1935         (WebCore::TestObjV8Internal::convert1Callback):
1936         (WebCore::TestObjV8Internal::convert2Callback):
1937         (WebCore::TestObjV8Internal::convert3Callback):
1938         (WebCore::TestObjV8Internal::convert4Callback):
1939         (WebCore::TestObjV8Internal::convert5Callback):
1940         (WebCore::TestObjV8Internal::strictFunctionCallback):
1941         (WebCore::V8TestObj::constructorCallback):
1942         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1943         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
1944         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1945         * bindings/v8/ScriptController.cpp:
1946         (WebCore::setValueAndClosePopupCallback):
1947         * bindings/v8/V8Proxy.cpp:
1948         (WebCore::V8Proxy::throwNotEnoughArgumentsError):
1949         * bindings/v8/V8Proxy.h:
1950         (V8Proxy):
1951         * bindings/v8/custom/V8AudioContextCustom.cpp:
1952         (WebCore::V8AudioContext::constructorCallback):
1953         * bindings/v8/custom/V8DataViewCustom.cpp:
1954         (WebCore::V8DataView::getInt8Callback):
1955         (WebCore::V8DataView::getUint8Callback):
1956         (WebCore::V8DataView::setInt8Callback):
1957         (WebCore::V8DataView::setUint8Callback):
1958         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
1959         (WebCore::V8DirectoryEntry::getDirectoryCallback):
1960         (WebCore::V8DirectoryEntry::getFileCallback):
1961         * bindings/v8/custom/V8IntentConstructor.cpp:
1962         (WebCore::V8Intent::constructorCallback):
1963         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1964         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
1965         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1966         (WebCore::getObjectParameter):
1967         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1968         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
1969         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
1970         (WebCore::V8WebGLRenderingContext::getParameterCallback):
1971         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1972         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1973         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1974         (WebCore::vertexAttribAndUniformHelperf):
1975         (WebCore::uniformHelperi):
1976         (WebCore::uniformMatrixHelper):
1977         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
1978         (WebCore::V8WebKitMutationObserver::constructorCallback):
1979         (WebCore::V8WebKitMutationObserver::observeCallback):
1980         * bindings/v8/custom/V8WebSocketCustom.cpp:
1981         (WebCore::V8WebSocket::constructorCallback):
1982         (WebCore::V8WebSocket::sendCallback):
1983         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1984         (WebCore::V8XMLHttpRequest::openCallback):
1985
1986 2012-05-20  Kentaro Hara  <haraken@chromium.org>
1987
1988         [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 2)
1989         https://bugs.webkit.org/show_bug.cgi?id=86981
1990
1991         Reviewed by Adam Barth.
1992
1993         The objective is to pass Isolate around in V8 bindings.
1994         This patch passes Isolate to throwError()s in V8 custom bindings.
1995
1996         No tests. No change in behavior.
1997
1998         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1999         (WebCore::v8HTMLImageElementConstructorCallback):
2000         * bindings/v8/custom/V8HistoryCustom.cpp:
2001         (WebCore::V8History::pushStateCallback):
2002         (WebCore::V8History::replaceStateCallback):
2003         * bindings/v8/custom/V8IntentConstructor.cpp:
2004         (WebCore::V8Intent::constructorCallback):
2005         * bindings/v8/custom/V8MessagePortCustom.cpp:
2006         (WebCore::handlePostMessageCallback):
2007         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2008         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
2009         (WebCore::V8NotificationCenter::createNotificationCallback):
2010         (WebCore::V8NotificationCenter::requestPermissionCallback):
2011         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2012         (WebCore::V8SQLResultSetRowList::itemCallback):
2013         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2014         (WebCore::V8SQLTransaction::executeSqlCallback):
2015         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2016         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2017         * bindings/v8/custom/V8StorageCustom.cpp:
2018         (WebCore::storageSetter):
2019         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2020         (WebCore::V8WebKitMutationObserver::constructorCallback):
2021         (WebCore::V8WebKitMutationObserver::observeCallback):
2022         * bindings/v8/custom/V8WebSocketCustom.cpp:
2023         (WebCore::V8WebSocket::constructorCallback):
2024         (WebCore::V8WebSocket::sendCallback):
2025         (WebCore::V8WebSocket::closeCallback):
2026         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2027         (WebCore::V8WorkerContext::importScriptsCallback):
2028         * bindings/v8/custom/V8WorkerCustom.cpp:
2029         (WebCore::handlePostMessageCallback):
2030         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2031         (WebCore::V8XMLHttpRequest::constructorCallback):
2032         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2033         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
2034         (WebCore::V8XMLHttpRequest::openCallback):
2035         (WebCore::V8XMLHttpRequest::sendCallback):
2036
2037 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2038
2039         [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 1)
2040         https://bugs.webkit.org/show_bug.cgi?id=86980
2041
2042         Reviewed by Adam Barth.
2043
2044         The objective is to pass Isolate around in V8 bindings.
2045         This patch passes Isolate to throwError()s in V8 custom bindings.
2046
2047         No tests. No change in behavior.
2048
2049         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2050         (WebCore::V8ArrayBuffer::constructorCallback):
2051         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2052         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2053         (WebCore::constructWebGLArray):
2054         * bindings/v8/custom/V8AudioContextCustom.cpp:
2055         (WebCore::V8AudioContext::constructorCallback):
2056         * bindings/v8/custom/V8BlobCustom.cpp:
2057         (WebCore::V8Blob::constructorCallback):
2058         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2059         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
2060         * bindings/v8/custom/V8ClipboardCustom.cpp:
2061         (WebCore::V8Clipboard::clearDataCallback):
2062         (WebCore::V8Clipboard::setDragImageCallback):
2063         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2064         (WebCore::V8DOMFormData::appendCallback):
2065         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2066         (WebCore::V8DOMStringMap::namedPropertySetter):
2067         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2068         (WebCore::handlePostMessageCallback):
2069         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2070         (WebCore::handlePostMessageCallback):
2071         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
2072         (WebCore::V8DirectoryEntry::getDirectoryCallback):
2073         (WebCore::V8DirectoryEntry::getFileCallback):
2074         * bindings/v8/custom/V8DocumentCustom.cpp:
2075         (WebCore::V8Document::evaluateCallback):
2076
2077 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2078
2079         [V8] Pass Isolate to V8NPObject::npObjectGetProperty() and V8NPObject::npObjectSetProperty()
2080         https://bugs.webkit.org/show_bug.cgi?id=86979
2081
2082         Reviewed by Adam Barth.
2083
2084         The objective is to pass Isolate around in V8 bindings.
2085         This patch passes Isolate to V8NPObject::npObjectGetProperty()
2086         and V8NPObject::npObjectSetProperty().
2087
2088         No tests. No change in behavior.
2089
2090         * bindings/v8/V8NPObject.cpp:
2091         (WebCore::npObjectGetProperty):
2092         (WebCore::npObjectNamedPropertyGetter):
2093         (WebCore::npObjectIndexedPropertyGetter):
2094         (WebCore::npObjectGetNamedProperty):
2095         (WebCore::npObjectGetIndexedProperty):
2096         (WebCore::npObjectQueryProperty):
2097         (WebCore::npObjectSetProperty):
2098         (WebCore::npObjectNamedPropertySetter):
2099         (WebCore::npObjectIndexedPropertySetter):
2100         (WebCore::npObjectSetNamedProperty):
2101         (WebCore::npObjectSetIndexedProperty):
2102         * bindings/v8/V8NPObject.h:
2103         (WebCore):
2104         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2105         (WebCore::npObjectNamedGetter):
2106         (WebCore::npObjectNamedSetter):
2107         (WebCore::npObjectIndexedGetter):
2108         (WebCore::npObjectIndexedSetter):
2109
2110 2012-05-20  Ryosuke Niwa  <rniwa@webkit.org>
2111
2112         Using createContextualFragment to insert a <script> does not cause the script to execute
2113         https://bugs.webkit.org/show_bug.cgi?id=12234
2114
2115         Reviewed by Adam Barth.
2116
2117         Renamed FragmentScriptingAllowed and FragmentScriptingNotAllowed to DisallowScriptingContent
2118         and AllowScriptingContent as these two flags are used in code for non-fragment cases and they
2119         indicate whether attributes and elements that can invoke scripting should be removed or not.
2120
2121         To fix the bug, added a new value AllowScriptingContentAndDoNotMarkAlreadyStarted unset
2122         already-started and parser-inserted flags [1] on script elements in addition to allowing
2123         scripting contents.
2124
2125         While the HTML5 specification and the DOM Parsing and Serialization specification [2] state that
2126         we should set these flags in the parser and later unset them, doing so would require traversing
2127         the parsed fragment to find relevant script elements. We short circuit this logic by simply not
2128         setting parser-inserted and already-started flags in createContextualFragment.
2129
2130         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#already-started
2131         [2] http://html5.org/specs/dom-parsing.html#dom-range-createcontextualfragment
2132
2133         Tests: fast/dom/Range/create-contextual-fragment-script-not-ran.html
2134                fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html
2135
2136         * dom/DocumentFragment.h:
2137         (DocumentFragment):
2138         * dom/Element.cpp:
2139         (WebCore::Element::parserSetAttributes):
2140         (WebCore::Element::setAttributeNS):
2141         * dom/Element.h:
2142         (Element):
2143         * dom/FragmentScriptingPermission.h:
2144         * dom/Range.cpp:
2145         (WebCore::Range::createContextualFragment): Removed FragmentScriptingPermission from the argument
2146         list since no one uses it. Always use AllowScriptingContentAndDoNotMarkAlreadyStarted instead.
2147         * dom/Range.h:
2148         * editing/markup.h:
2149         * html/parser/HTMLConstructionSite.cpp:
2150         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
2151         (WebCore::HTMLConstructionSite::insertScriptElement): Pass false to both parserInserted and
2152         alreadyStarted when the scripting permission is AllowScriptingContentAndDoNotMarkAlreadyStarted.
2153         Also call parserSetAttributes when the scripting permission is either AllowScriptingContent or
2154         AllowScriptingContentAndDoNotMarkAlreadyStarted.
2155         * html/parser/HTMLDocumentParser.h:
2156         (HTMLDocumentParser):
2157         * html/parser/HTMLTreeBuilder.cpp:
2158         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
2159         (WebCore::HTMLTreeBuilder::processEndTag):
2160         * html/parser/HTMLTreeBuilder.h:
2161         (FragmentParsingContext):
2162         * platform/blackberry/PasteboardBlackBerry.cpp:
2163         (WebCore::Pasteboard::documentFragment):
2164         * platform/chromium/DragDataChromium.cpp:
2165         (WebCore::DragData::asFragment):
2166         * platform/chromium/PasteboardChromium.cpp:
2167         (WebCore::Pasteboard::documentFragment):
2168         * platform/gtk/PasteboardGtk.cpp:
2169         (WebCore::Pasteboard::documentFragment):
2170         * platform/mac/PasteboardMac.mm:
2171         (WebCore::Pasteboard::documentFragment):
2172         * platform/qt/DragDataQt.cpp:
2173         (WebCore::DragData::asFragment):
2174         * platform/qt/PasteboardQt.cpp:
2175         (WebCore::Pasteboard::documentFragment):
2176         * platform/win/ClipboardUtilitiesWin.cpp:
2177         (WebCore::fragmentFromCFHTML):
2178         (WebCore::fragmentFromHTML):
2179         * xml/XMLErrors.cpp:
2180         (WebCore::createXHTMLParserErrorHeader):
2181         (WebCore::XMLErrors::insertErrorMessageBlock):
2182         * xml/parser/NewXMLDocumentParser.h:
2183         (NewXMLDocumentParser):
2184         * xml/parser/XMLDocumentParser.h:
2185         (XMLDocumentParser):
2186         * xml/parser/XMLDocumentParserLibxml2.cpp:
2187         (WebCore::XMLDocumentParser::XMLDocumentParser):
2188         (WebCore::XMLDocumentParser::endElementNs):
2189         * xml/parser/XMLDocumentParserQt.cpp:
2190         (WebCore::XMLDocumentParser::XMLDocumentParser):
2191         (WebCore::XMLDocumentParser::parseEndElement):
2192
2193 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2194
2195         [V8] Pass Isolate to V8Utilities::createFunctionCallback()
2196         https://bugs.webkit.org/show_bug.cgi?id=86978
2197
2198         Reviewed by Adam Barth.
2199
2200         The objective is to pass Isolate around in V8 bindings.
2201         This patch passes Isolate to V8Utilities::createFunctionCallback().
2202
2203         No tests. No change in behavior.
2204
2205         * bindings/v8/V8Utilities.cpp:
2206         (WebCore::throwTypeMismatchException):
2207         * bindings/v8/V8Utilities.h:
2208         (WebCore):
2209         (WebCore::createFunctionOnlyCallback):
2210         * bindings/v8/custom/V8GeolocationCustom.cpp:
2211         (WebCore::V8Geolocation::getCurrentPositionCallback):
2212         (WebCore::V8Geolocation::watchPositionCallback):
2213         * bindings/v8/custom/V8NotificationCustom.cpp:
2214         (WebCore::V8Notification::requestPermissionCallback):
2215
2216 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2217
2218         [V8] Pass Isolate to throwError()s in bindings/v8/*.{h,cpp}
2219         https://bugs.webkit.org/show_bug.cgi?id=86977
2220
2221         Reviewed by Adam Barth.
2222
2223         The objective is to pass Isolate around in V8 bindings.
2224         This patch passes Isolate to throwError()s in bindings/v8/*.{h,cpp}
2225         except for a couple of non-trivial cases. I'll upload a follow-up patch
2226         for the non-trivial cases.
2227
2228         No tests. No change in behavior.
2229
2230         * bindings/v8/DateExtension.cpp:
2231         (WebCore::DateExtension::OnSleepDetected):
2232         * bindings/v8/SerializedScriptValue.cpp:
2233         (WebCore::SerializedScriptValue::transferArrayBuffers):
2234         (WebCore::SerializedScriptValue::SerializedScriptValue):
2235         * bindings/v8/SerializedScriptValue.h:
2236         * bindings/v8/V8NPObject.cpp:
2237         (WebCore::npObjectInvokeImpl):
2238         (WebCore::npObjectPropertyEnumerator):
2239         * bindings/v8/V8Proxy.cpp:
2240         (WebCore::V8Proxy::checkNewLegal):
2241
2242 2012-05-20  Keishi Hattori  <keishi@webkit.org>
2243
2244         [Chromium] Enable datalist for input type email
2245         https://bugs.webkit.org/show_bug.cgi?id=85356
2246
2247         Reviewed by Kent Tamura.
2248
2249         No new tests. Covered in fast/forms/datalist/input-list.html
2250
2251         * rendering/RenderThemeChromiumCommon.cpp:
2252         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
2253
2254 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2255
2256         [V8] Pass Isolate to throwError()s in CodeGeneratorV8.pm
2257         https://bugs.webkit.org/show_bug.cgi?id=86976
2258
2259         Reviewed by Adam Barth.
2260
2261         The objective is to pass Isolate around in V8 bindings.
2262         This patch passes Isolate to throwError()s in CodeGeneratorV8.pm.
2263
2264         No tests. No change in behavior.
2265
2266         * bindings/scripts/CodeGeneratorV8.pm:
2267         (GenerateNormalAttrGetter):
2268         (GenerateNormalAttrSetter):
2269         (GenerateParametersCheck):
2270         (GenerateConstructorCallback):
2271         (GenerateNamedConstructorCallback):
2272         (GenerateFunctionCallString):
2273         * bindings/scripts/test/V8/V8TestInterface.cpp:
2274         (WebCore::V8TestInterface::constructorCallback):
2275         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2276         (WebCore::V8TestNamedConstructorConstructorCallback):
2277         * bindings/scripts/test/V8/V8TestObj.cpp:
2278         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
2279         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
2280         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
2281         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
2282         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2283         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2284         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
2285         (WebCore::TestObjV8Internal::withScriptStateVoidCallback):
2286         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
2287         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
2288         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
2289         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
2290         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2291         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2292         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
2293         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
2294         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
2295         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
2296         (WebCore::V8TestObj::constructorCallback):
2297
2298 2012-05-20  George Staikos  <staikos@webkit.org>
2299
2300         [BlackBerry] Implement the Screen functions to get DPI.
2301         https://bugs.webkit.org/show_bug.cgi?id=86967
2302
2303         Reviewed by Antonio Gomes.
2304
2305         * platform/blackberry/PlatformScreenBlackBerry.cpp:
2306         (WebCore::screenHorizontalDPI):
2307         (WebCore::screenVerticalDPI):
2308
2309 2012-05-20  Shinya Kawanaka  <shinyak@chromium.org>
2310
2311         [Refactoring] Node::shadowHost() and Node::setShadowHost() can be moved to ShadowRoot.
2312         https://bugs.webkit.org/show_bug.cgi?id=86585
2313
2314         Reviewed by Hajime Morita.
2315
2316         Since Node::shadowHost() and Node::setShadowHost() are valid only if Node is ShadowRoot,
2317         they should be moved to ShadowRoot.
2318
2319         However, Node::setParent cannot be called from ShadowRoot, we add Node::setParentOrHostNode
2320         to call it as Node::parentOrHostNode() calls Node::parent(). Node::setParent() is now private.
2321         We also add SVGElementInstance::setParentOrHostNode() to share ContainerNodeAlgorithm.
2322
2323         No new tests, no change in behavior.
2324
2325         * dom/Attr.cpp:
2326         (WebCore::Attr::createTextChild):
2327         * dom/ContainerNode.cpp:
2328         (WebCore::ContainerNode::insertBeforeCommon):
2329         (WebCore::ContainerNode::removeBetween):
2330         (WebCore::ContainerNode::removeChildren):
2331         * dom/ContainerNodeAlgorithms.h:
2332         (WebCore::appendChildToContainer):
2333         (WebCore::Private::addChildNodesToDeletionQueue):
2334         * dom/ElementShadow.cpp:
2335         (WebCore::validateShadowRoot):
2336         (WebCore::ElementShadow::addShadowRoot):
2337         (WebCore::ElementShadow::removeAllShadowRoots):
2338         * dom/EventDispatcher.cpp:
2339         (WebCore::eventTargetRespectingSVGTargetRules):
2340         (WebCore::EventDispatcher::ensureEventAncestors):
2341         (WebCore::EventDispatcher::determineDispatchBehavior):
2342         * dom/EventDispatcher.h:
2343         (WebCore):
2344         (EventDispatcher):
2345         * dom/Node.cpp:
2346         (WebCore::Node::parentOrHostElement):
2347         * dom/Node.h:
2348         (Node):
2349         (WebCore::Node::setParentOrHostNode):
2350         (WebCore):
2351         * dom/NodeRenderingContext.cpp:
2352         (WebCore::NodeRenderingContext::NodeRenderingContext):
2353         * dom/ShadowRoot.h:
2354         (WebCore::ShadowRoot::host):
2355         (WebCore):
2356         (WebCore::ShadowRoot::setHost):
2357         * dom/TreeScope.cpp:
2358         (WebCore::TreeScope::focusedNode):
2359         * html/shadow/ContentSelectorQuery.cpp:
2360         (WebCore::ContentSelectorQuery::matches):
2361         * page/DragController.cpp:
2362         (WebCore::asFileInput):
2363         * page/EventHandler.cpp:
2364         (WebCore::EventHandler::handleMousePressEvent):
2365         (WebCore::instanceAssociatedWithShadowTreeElement):
2366         (WebCore::EventHandler::dispatchMouseEvent):
2367         * page/FocusController.cpp:
2368         (WebCore::FocusScope::owner):
2369         * rendering/RenderBlock.cpp:
2370         (WebCore::RenderBlock::hasLineIfEmpty):
2371         * svg/SVGElementInstance.h:
2372         (WebCore::SVGElementInstance::setParentOrHostNode):
2373         (SVGElementInstance):
2374         * svg/SVGStyledElement.cpp:
2375         (WebCore::SVGStyledElement::title):
2376         * svg/SVGTRefElement.cpp:
2377         (WebCore::SVGShadowText::willRecalcTextStyle):
2378
2379 2012-05-20  Joe Thomas  <joethomas@motorola.com>
2380
2381         Unsupported commands should have queryCommandValue() = "", not false
2382         https://bugs.webkit.org/show_bug.cgi?id=86964
2383
2384         Reviewed by Ryosuke Niwa.
2385
2386         queryCommandValue for unsupported commands should return empty string.
2387         The specification related to this can be located at http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#methods-to-query-and-execute-commands
2388
2389         Test: editing/execCommand/queryCommandValue-unsupported-commands.html
2390
2391         * dom/Document.idl:
2392
2393 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2394
2395         Unreviewed. Rebaselined run-bindings-tests results.
2396
2397         * bindings/scripts/test/JS/JSTestInterface.cpp:
2398         (WebCore::setJSTestInterfaceSupplementalStr2):
2399         (WebCore::setJSTestInterfaceSupplementalStr3):
2400         (WebCore::setJSTestInterfaceSupplementalNode):
2401         * bindings/scripts/test/JS/JSTestObj.cpp:
2402         (WebCore::setJSTestObjShortAttr):
2403         (WebCore::setJSTestObjUnsignedShortAttr):
2404         (WebCore::setJSTestObjIntAttr):
2405         (WebCore::setJSTestObjLongLongAttr):
2406         (WebCore::setJSTestObjUnsignedLongLongAttr):
2407         (WebCore::setJSTestObjStringAttr):
2408         (WebCore::setJSTestObjTestObjAttr):
2409         (WebCore::setJSTestObjSequenceAttr):
2410         (WebCore::setJSTestObjIntSequenceAttr):
2411         (WebCore::setJSTestObjShortSequenceAttr):
2412         (WebCore::setJSTestObjLongSequenceAttr):
2413         (WebCore::setJSTestObjLongLongSequenceAttr):
2414         (WebCore::setJSTestObjUnsignedIntSequenceAttr):
2415         (WebCore::setJSTestObjUnsignedShortSequenceAttr):
2416         (WebCore::setJSTestObjUnsignedLongSequenceAttr):
2417         (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
2418         (WebCore::setJSTestObjFloatSequenceAttr):
2419         (WebCore::setJSTestObjDoubleSequenceAttr):
2420         (WebCore::setJSTestObjBooleanSequenceAttr):
2421         (WebCore::setJSTestObjVoidSequenceAttr):
2422         (WebCore::setJSTestObjDateSequenceAttr):
2423         (WebCore::setJSTestObjXMLObjAttr):
2424         (WebCore::setJSTestObjCreate):
2425         (WebCore::setJSTestObjReflectedStringAttr):
2426         (WebCore::setJSTestObjReflectedIntegralAttr):
2427         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2428         (WebCore::setJSTestObjReflectedBooleanAttr):
2429         (WebCore::setJSTestObjReflectedURLAttr):
2430         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2431         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2432         (WebCore::setJSTestObjReflectedCustomURLAttr):
2433         (WebCore::setJSTestObjAttrWithGetterException):
2434         (WebCore::setJSTestObjAttrWithSetterException):
2435         (WebCore::setJSTestObjStringAttrWithGetterException):
2436         (WebCore::setJSTestObjStringAttrWithSetterException):
2437         (WebCore::setJSTestObjCustomAttr):
2438         (WebCore::setJSTestObjWithScriptStateAttribute):
2439         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2440         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2441         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2442         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2443         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2444         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2445         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2446         (WebCore::setJSTestObjConditionalAttr1):
2447         (WebCore::setJSTestObjConditionalAttr2):
2448         (WebCore::setJSTestObjConditionalAttr3):
2449         (WebCore::setJSTestObjConditionalAttr4Constructor):
2450         (WebCore::setJSTestObjConditionalAttr5Constructor):
2451         (WebCore::setJSTestObjConditionalAttr6Constructor):
2452         (WebCore::setJSTestObjMutablePoint):
2453         (WebCore::setJSTestObjImmutablePoint):
2454         (WebCore::setJSTestObjStrawberry):
2455         (WebCore::setJSTestObjStrictFloat):
2456         (WebCore::setJSTestObjId):
2457         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2458         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2459         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2460
2461 2012-05-20  George Staikos  <staikos@webkit.org>
2462
2463         Use reinterpret_cast_ptr<> to fix an alignment warning.
2464         https://bugs.webkit.org/show_bug.cgi?id=80790
2465
2466         Reviewed by Rob Buis.
2467
2468         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2469         (WebCore::error_exit):
2470
2471 2012-05-20  Takashi Sakamoto  <tasak@google.com>
2472
2473         Needs style recalculation by changing applyAuthorStyles dynamically
2474         https://bugs.webkit.org/show_bug.cgi?id=84251
2475
2476         Modifying setApplyAuthorStyles to invoke owner()'s
2477         setNeedsRedistributing if applyAuthorStyles changes.
2478
2479         Reviewed by Hajime Morita.
2480
2481         No new tests. Adding new tests to existing
2482         fast/dom/shadow/shadow-root-applyAuthorStyles.html to test this
2483         feature.
2484
2485         * dom/ShadowRoot.cpp:
2486         (WebCore::ShadowRoot::setApplyAuthorStyles):
2487         If applyAuthorStyles changes, invoke owner's setNeedsRedistributing to
2488         recalculate styles of the shadow root's child elements.
2489
2490 2012-05-20  Philip Rogers  <pdr@google.com>
2491
2492         Accumulate SVG animations into first contributing element
2493         https://bugs.webkit.org/show_bug.cgi?id=86385
2494
2495         Reviewed by Nikolas Zimmermann.
2496
2497         Previously we were accumulating animations into the first animation element when
2498         there were multiple animations for a single element. This crashed if the first
2499         animation ended first because the first animation was prematurely cleaned up.
2500         This change accumulates animations into the first _contributing_ animation element.
2501
2502         Tests: svg/animations/multiple-animations-ending.html
2503                svg/animations/svg-two-animate-elements-crash-expected.svg
2504                svg/animations/svg-two-animate-elements-crash.svg
2505
2506         * svg/animation/SMILTimeContainer.cpp:
2507         (WebCore::SMILTimeContainer::updateAnimations):
2508         * svg/animation/SVGSMILElement.cpp:
2509         (WebCore::SVGSMILElement::progress):
2510
2511 2012-05-20  Philip Rogers  <pdr@google.com>
2512
2513         Fix hit testing on non-scaling strokes
2514         https://bugs.webkit.org/show_bug.cgi?id=82628
2515
2516         Reviewed by Nikolas Zimmermann.
2517
2518         This change fixes hit testing on non-scaling strokes. It contains fixes for 3 bugs:
2519         1) RenderSVGRect::shapeDependentStrokeContains was not falling back to shape-based hit testing.
2520         2) m_strokeAndMarkerBoundingBox did not account for non-scaling strokes.
2521         3) RenderSVGShape::shapeDependentStrokeContains did not have any support for non-scaling strokes.
2522
2523         This change also contains some refactoring/cleanup of the non-scale-stroke codepaths.
2524
2525         Test: svg/hittest/svg-shapes-non-scale-stroke.html
2526
2527         * rendering/svg/RenderSVGEllipse.cpp:
2528         (WebCore::RenderSVGEllipse::createShape):
2529         * rendering/svg/RenderSVGRect.cpp:
2530         (WebCore::RenderSVGRect::createShape):
2531         (WebCore::RenderSVGRect::shapeDependentStrokeContains):
2532         * rendering/svg/RenderSVGShape.cpp:
2533         (WebCore::RenderSVGShape::shapeDependentStrokeContains):
2534         (WebCore::RenderSVGShape::shapeDependentFillContains):
2535         (WebCore::RenderSVGShape::nonScalingStrokePath):
2536         (WebCore):
2537         (WebCore::RenderSVGShape::setupNonScalingStrokeContext):
2538         (WebCore::RenderSVGShape::nonScalingStrokeTransform):
2539         (WebCore::RenderSVGShape::strokePath):
2540         (WebCore::RenderSVGShape::fillAndStrokePath):
2541         (WebCore::RenderSVGShape::updateCachedBoundaries):
2542         (WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
2543         * rendering/svg/RenderSVGShape.h:
2544         (WebCore::RenderSVGShape::hasNonScalingStroke):
2545         (RenderSVGShape):
2546
2547 2012-05-19  Emil A Eklund  <eae@chromium.org>
2548
2549         Simplify RenderOverflow by using Rects
2550         https://bugs.webkit.org/show_bug.cgi?id=86894
2551
2552         Reviewed by Eric Seidel.
2553
2554         Simplify the RenderOverflow class and the uses of it by storing the
2555         overflow values in rects and using the rects instead of the individual
2556         values where it makes sense.
2557
2558         No new tests, no change in functionality.
2559
2560         * page/FrameView.cpp:
2561         (WebCore::FrameView::adjustPageHeightDeprecated):
2562         Change to use layoutOverflowRect().maxX() and replace C style casts with
2563         C++ style to comply with style guide.
2564         
2565         * rendering/InlineFlowBox.h:
2566         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
2567         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
2568         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
2569         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
2570         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
2571         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
2572         (WebCore::InlineFlowBox::logicalTopVisualOverflow):
2573         (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
2574         Change methods to use layoutOverflowRect() and visualOverflowRect().
2575         
2576         * rendering/RenderBox.cpp:
2577         (WebCore::RenderBox::scrollWidth):
2578         (WebCore::RenderBox::scrollHeight):
2579         Change methods to use visualOverflowRect().
2580         
2581         (WebCore::RenderBox::clearLayoutOverflow):
2582         Use setLayoutOverflow instead of resetLayoutOverflow (which has been
2583         removed as it did exactly the same thing as the set method).
2584         
2585         * rendering/RenderBox.h:
2586         (WebCore::RenderBox::maxLayoutOverflow):
2587         (WebCore::RenderBox::logicalLeftLayoutOverflow):
2588         (WebCore::RenderBox::logicalRightLayoutOverflow):
2589         (WebCore::RenderBox::logicalLeftVisualOverflow):
2590         (WebCore::RenderBox::logicalRightVisualOverflow):
2591         Remove minYLayoutOverflow, maxYLayoutOverflow, minXLayoutOverflow and
2592         maxXLayoutOverflow and update the remaining methods to use
2593         layoutOverflowRect().
2594         
2595         * rendering/RenderMarquee.cpp:
2596         (WebCore::RenderMarquee::computePosition):
2597         Change to use layoutOverflowRect().
2598         
2599         * rendering/RenderOverflow.h:
2600         (WebCore::RenderOverflow::RenderOverflow):
2601         (WebCore::RenderOverflow::layoutOverflowRect):
2602         (WebCore::RenderOverflow::visualOverflowRect):
2603         (RenderOverflow):
2604         (WebCore::RenderOverflow::setMinYLayoutOverflow):
2605         (WebCore::RenderOverflow::setMaxYLayoutOverflow):
2606         (WebCore::RenderOverflow::setMinXLayoutOverflow):
2607         (WebCore::RenderOverflow::setMaxXLayoutOverflow):
2608         (WebCore::RenderOverflow::setMinYVisualOverflow):
2609         (WebCore::RenderOverflow::setMaxYVisualOverflow):
2610         (WebCore::RenderOverflow::setMinXVisualOverflow):
2611         (WebCore::RenderOverflow::setMaxXVisualOverflow):
2612         (WebCore):
2613         (WebCore::RenderOverflow::move):
2614         (WebCore::RenderOverflow::addLayoutOverflow):
2615         (WebCore::RenderOverflow::addVisualOverflow):
2616         (WebCore::RenderOverflow::setLayoutOverflow):
2617         (WebCore::RenderOverflow::setVisualOverflow):
2618         Change RenderOverflow to use two rects instead of two sets of four
2619         values. Remove [min|max][Layout|Visual]Overflow getters and change the
2620         layoutOverflowRect and visualOverflowRect methods to return the rects.
2621         
2622         * rendering/RenderReplaced.cpp:
2623         (WebCore::RenderReplaced::shouldPaint):
2624         Change to use visualOverflowRect().
2625         
2626         * rendering/RenderTable.cpp:
2627         (WebCore::RenderTable::layout):
2628         Change to use visualOverflowRect().
2629         
2630         * rendering/RenderTableCell.cpp:
2631         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2632         Change to use visualOverflowRect().
2633         
2634         * rendering/RenderTreeAsText.cpp:
2635         (WebCore::writeLayers):
2636         Change to use layoutOverflowRect().
2637
2638 2012-05-19  Rob Buis  <rbuis@rim.com>
2639
2640         Remove bbox caching from SVGPathElement
2641         https://bugs.webkit.org/show_bug.cgi?id=86233
2642
2643         Reviewed by Nikolas Zimmermann.
2644
2645         Remove caching of path bounding box, since SVGLocatable::getBBox is not used much at all.
2646         This saves 200k of memory for worldcup.svg on 64-bit machine.
2647
2648         * svg/SVGPathElement.cpp:
2649         (WebCore::SVGPathElement::SVGPathElement):
2650         (WebCore::SVGPathElement::svgAttributeChanged):
2651         (WebCore::SVGPathElement::pathSegListChanged):
2652         (WebCore::SVGPathElement::getBBox):
2653         * svg/SVGPathElement.h:
2654         (SVGPathElement):
2655
2656 2012-05-19  Andy Estes  <aestes@apple.com>
2657
2658         Fix build errors found when disabling ENABLE_DRAG_SUPPORT
2659         https://bugs.webkit.org/show_bug.cgi?id=86947
2660
2661         Reviewed by Jon Honeycutt.
2662
2663         * page/mac/EventHandlerMac.mm:
2664         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2665         * platform/mac/ClipboardMac.mm:
2666         (WebCore):
2667
2668 2012-05-19  Joe Thomas  <joethomas@motorola.com>
2669
2670         The order of CSS properties is wrong in background shorthand
2671         https://bugs.webkit.org/show_bug.cgi?id=86152
2672
2673         Reviewed by Ryosuke Niwa.
2674
2675         Corrected the order of properties returned in StylePropertySet::getPropertyValue for background shorthand property to match the specification  
2676         http://www.w3.org/TR/css3-background/#background.
2677
2678         * css/StylePropertyShorthand.cpp:
2679         (WebCore::backgroundShorthand):
2680
2681 2012-05-19  Ryosuke Niwa  <rniwa@webkit.org>
2682
2683         Touch Internals.* in an attempt to fix Windows builds after r117646.
2684
2685         * testing/Internals.cpp:
2686         * testing/Internals.h:
2687         * testing/Internals.idl:
2688
2689 2012-05-18  Ryosuke Niwa  <rniwa@webkit.org>
2690
2691         WebKit erroneously add 1px padding in input elements
2692         https://bugs.webkit.org/show_bug.cgi?id=86784
2693
2694         Reviewed by Kent Tamura.
2695
2696         Fixed the bug by removing the code that added left and right paddings in input elements.
2697         The code was added in r13567 to match a very old version of Internet Explorer but this quirk
2698         does not seem to exists in IE9 (both in quirks and standard modes).
2699
2700         A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px
2701         differences for the width of input elements. (In some extreme cases, line breaking changed
2702         due to the width change).
2703
2704         Test: fast/forms/input-textarea-padding-match.html
2705
2706         * css/html.css:
2707         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
2708         * rendering/RenderTextControlSingleLine.cpp:
2709         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2710
2711 2012-05-18  Adrienne Walker  <enne@google.com>
2712
2713         [chromium] Add diagnostic CRASH calls for tiler crashes
2714         https://bugs.webkit.org/show_bug.cgi?id=86930
2715
2716         Reviewed by James Robinson.
2717
2718         These lines would normally crash on their own due to null pointers,
2719         but having an explicit CRASH call will help us differentiate what the
2720         real problem might be in the crash report.
2721
2722         * platform/graphics/chromium/TiledLayerChromium.cpp:
2723         (WebCore::TiledLayerChromium::createTile):
2724         (WebCore::TiledLayerChromium::updateTiles):
2725
2726 2012-05-18  Aaron Colwell  <acolwell@chromium.org>
2727
2728         Update Media Source implementation to reflect changes in 0.5 spec.
2729         https://bugs.webkit.org/show_bug.cgi?id=83607
2730
2731         Reviewed by Darin Fisher.
2732
2733         Tests: http/tests/media/media-source/video-media-source-event-attributes.html
2734                http/tests/media/media-source/webm/video-media-source-abort.html
2735                http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html
2736
2737         * html/HTMLAttributeNames.in: Add onwebkitsourcexxx event attribute names.
2738         * html/HTMLMediaElement.cpp: 
2739         (WebCore::HTMLMediaElement::parseAttribute): Add code to register event listeners for the onwebkitsourcexxx attributes.
2740         (WebCore::HTMLMediaElement::pauseInternal):
2741         (WebCore):
2742         (WebCore::HTMLMediaElement::webkitSourceAddId): Changed code to pass the parsed type & codecs to m_player instead of the whole MIME-type string. This was done to allow some simple parsing & validation code to be shared in WebKit instead of reimplemented in every port.
2743         (WebCore::HTMLMediaElement::webkitSourceBuffered): New method in the v0.5 spec. It validates the parameters & that it is being called in the correct state. If so it forwards the call to m_player.
2744         (WebCore::HTMLMediaElement::webkitSourceAppend): Adds id parameter to match v0.5 signature. Minor logic changes that avoid calling m_player for 0 byte arrays and fixes exceptions reported for a null array and a parse error so they match the spec text.
2745         (WebCore::HTMLMediaElement::webkitSourceAbort): New method in the v0.5 spec. It validates the parameter & that it is being called in athe correct state. If so it forwards the call to m_player.
2746         * html/HTMLMediaElement.h:
2747         (HTMLMediaElement): Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
2748         * html/HTMLMediaElement.idl: Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
2749         * platform/ContentType.cpp:
2750         (WebCore::ContentType::codecs): A new method that parses the codecs parameter into a vector of codec strings.
2751         (WebCore):
2752         * platform/ContentType.h: 
2753         (ContentType):
2754         * platform/graphics/MediaPlayer.cpp:
2755         (WebCore::NullMediaPlayerPrivate::sourceAddId): Update the signature to take the parsed type and codecs vector.
2756         (WebCore::NullMediaPlayerPrivate::sourceBuffered): Add default implementation for this new method.
2757         (WebCore::NullMediaPlayerPrivate::sourceRemoveId): Remove id parameter name to match other methods.
2758         (WebCore::NullMediaPlayerPrivate::sourceAppend): Updated signature to include id parameter.
2759         (WebCore::NullMediaPlayerPrivate::sourceAbort): Add default implementation for this new method.
2760         (WebCore::NullMediaPlayerPrivate::sourceEndOfStream): Remove parameter name to match other methods.
2761         (WebCore::MediaPlayer::sourceAddId): Update the signature to take the parsed type and codecs vector.
2762         (WebCore):
2763         (WebCore::MediaPlayer::sourceBuffered): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
2764         (WebCore::MediaPlayer::sourceAppend): Update method to forward the new id parameter in the signature.
2765         (WebCore::MediaPlayer::sourceAbort): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
2766         * platform/graphics/MediaPlayer.h: Update interface to include new methods and updated signatures.
2767         * platform/graphics/MediaPlayerPrivate.h:
2768         (WebCore::MediaPlayerPrivateInterface::sourceAddId): Update the signature to take the parsed type and codecs vector.
2769         (WebCore::MediaPlayerPrivateInterface::sourceBuffered): Add default implementation for new method.
2770         (WebCore::MediaPlayerPrivateInterface::sourceAppend): Update method to forward the new id parameter in the signature.
2771         (WebCore::MediaPlayerPrivateInterface::sourceAbort): Add default implementation for new method.
2772
2773 2012-05-18  Levi Weintraub  <leviw@chromium.org>
2774
2775         Revert to float method of selection rect alignment for line box tree
2776         https://bugs.webkit.org/show_bug.cgi?id=86904
2777
2778         Reviewed by Eric Seidel.
2779
2780         In r117491, we introduced a new method of alignment for the selection rect in the sub-pixel case.
2781         It turns out there is at least one case on Mac where this leaves a gap when painting selection rects
2782         originating in the line box tree. This patch reverts us to the float method for the line box tree,
2783         but retains the LayoutRect snapping for gap rects.
2784
2785         No new tests. Covered by existing tests with sub-pixel layout enabled.
2786
2787         * rendering/EllipsisBox.cpp:
2788         (WebCore::EllipsisBox::paintSelection): Re-enabling the FloatRect flavor of
2789         alignSelectionRectToDevicePixels for the line box tree.
2790         * rendering/InlineTextBox.cpp:
2791         (WebCore::alignSelectionRectToDevicePixels): Moving LayoutRect flavor to RenderBlock.
2792         (WebCore::InlineTextBox::paintSelection): Happily clearing up the bifurcation of algorithms for
2793         sub-pixel layout.
2794         * rendering/InlineTextBox.h: Re-enabling the FloatRect flavor of alignSelectionRectToDevicePixels
2795         for the line box tree.
2796         * rendering/RenderBlock.cpp:
2797         (WebCore::alignSelectionRectToDevicePixels): Re-seating the LayoutRect version of
2798         alignSelectionRectToDevicePixels for use with GapRects.
2799
2800 2012-05-18  Eric Seidel  <eric@webkit.org>
2801
2802         Assertion failure in BidiResolver::commitExplicitEmbedding() (!inIsolate() || m_currentExplicitEmbeddingSequence.isEmpty()) at wikipedia.org
2803         https://bugs.webkit.org/show_bug.cgi?id=76574
2804
2805         Reviewed by Levi Weintraub.
2806
2807         Consider this example:
2808         <span style="unicode-bidi: embed"><span style="unicode-bidi: isolate">a</span></span>
2809         Before this patch, we would ASSERT when computing the text runs, as we would have encountered
2810         the "embed LTR" directive from the outer span, but not try to "commit" this embedding until
2811         we encountered the first charater (an optimization to avoid creating unnecessary bidi embedding contexts).
2812         The ASSERT we were hitting was to ensure that embedding directives inside an isolated span
2813         did not bleed out and effect the surrounding text.
2814
2815         bidi "isolate" support uses a multi-pass Unicode Bidi Algorithm (UBA), which when encountering
2816         "isolated" sections of text ignores them in the first pass, and then goes back and runs
2817         a separate instance of the UBA on those isolated sections.
2818
2819         Once we scan into an "isolate" section (during an outer UBA application) we should not respect
2820         any embedding directives inside that "isolate" section.
2821
2822         However, in the above example, our "don't commit embeddings until we need them" and
2823         "assert we don't respect embeddings inside isolated spans" were conflicting.
2824         The fix is to make sure we always commit any pending embedding directives *before*
2825         we enter an isolate section.
2826
2827         Luckly there was no functional bug here as we were still respecting
2828         the embedding directives we were belatedly committing. After this change we're commiting
2829         those directives at a more appropriate time, thus avoiding the ASSERT.
2830
2831         Test: fast/text/bidi-isolate-embedding-crash.html
2832
2833         * platform/text/BidiResolver.h:
2834         (WebCore::::commitExplicitEmbedding):
2835         * rendering/InlineIterator.h:
2836         (WebCore::notifyObserverEnteredObject):
2837         (WebCore::IsolateTracker::commitExplicitEmbedding):
2838
2839 2012-05-18  Pratik Solanki  <psolanki@apple.com>
2840
2841         BitmapImage::BitmapImage(CGImageRef, ImageObserver*) needs to set m_sizeRespectingOrientation
2842         https://bugs.webkit.org/show_bug.cgi?id=86915
2843
2844         Reviewed by Oliver Hunt.
2845
2846         Set m_sizeRespectingOrientation to be the same as m_size. Otherwise it stays at 0x0 since
2847         this constructor also sets m_haveSize to true for the BitmapImage.
2848
2849         * platform/graphics/cg/ImageCG.cpp:
2850         (WebCore::BitmapImage::BitmapImage):
2851
2852 2012-05-18  Dan Bernstein  <mitz@apple.com>
2853
2854         Build fix after r117607.
2855
2856         * platform/mac/WebCoreNSCellExtras.m:
2857
2858 2012-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2859
2860         Fix remaining uses of JSValue::toBoolean()
2861         https://bugs.webkit.org/show_bug.cgi?id=86912
2862
2863         Reviewed by Filip Pizlo.
2864
2865         And unbreak Qt build.
2866
2867         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2868         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2869         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2870         * bindings/scripts/test/JS/JSTestObj.cpp:
2871         (WebCore::setJSTestObjCreate):
2872         (WebCore::setJSTestObjReflectedBooleanAttr):
2873         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2874         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2875         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2876         * bridge/qt/qt_runtime.cpp:
2877         (JSC::Bindings::convertValueToQVariant):
2878         * bridge/qt/qt_runtime_qt4.cpp:
2879         (JSC::Bindings::convertValueToQVariant):
2880
2881 2012-04-27  Filip Pizlo  <fpizlo@apple.com>
2882
2883         DFG should have control flow graph simplification
2884         https://bugs.webkit.org/show_bug.cgi?id=84553
2885
2886         Reviewed by Oliver Hunt.
2887
2888         Merged r115512 from dfgopt.
2889
2890         JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
2891         
2892         No new tests, because no new behavior.
2893
2894         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2895         (WebCore::JSSQLStatementErrorCallback::handleEvent):
2896         * bindings/js/JSDOMWindowCustom.cpp:
2897         (WebCore::JSDOMWindow::addEventListener):
2898         (WebCore::JSDOMWindow::removeEventListener):
2899         * bindings/js/JSDataViewCustom.cpp:
2900         (WebCore::getDataViewMember):
2901         * bindings/js/JSDeviceMotionEventCustom.cpp:
2902         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
2903         * bindings/js/JSDeviceOrientationEventCustom.cpp:
2904         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
2905         * bindings/js/JSDictionary.cpp:
2906         (WebCore::JSDictionary::convertValue):
2907         * bindings/js/JSDirectoryEntryCustom.cpp:
2908         (WebCore::JSDirectoryEntry::getFile):
2909         (WebCore::JSDirectoryEntry::getDirectory):
2910         * bindings/js/JSDirectoryEntrySyncCustom.cpp:
2911         (WebCore::getFlags):
2912         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2913         (WebCore::JSHTMLCanvasElement::getContext):
2914         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2915         (WebCore::JSInspectorFrontendHost::showContextMenu):
2916         * bindings/js/JSMessageEventCustom.cpp:
2917         (WebCore::handleInitMessageEvent):
2918         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2919         (WebCore::dataFunctionMatrix):
2920         * bindings/js/JSXMLHttpRequestCustom.cpp:
2921         (WebCore::JSXMLHttpRequest::open):
2922         * bindings/js/ScriptDebugServer.cpp:
2923         (WebCore::ScriptDebugServer::hasBreakpoint):
2924         * bindings/scripts/CodeGeneratorJS.pm:
2925         (GenerateEventListenerCall):
2926         (GenerateImplementation):
2927         (JSValueToNative):
2928         * bridge/c/c_utility.cpp:
2929         (JSC::Bindings::convertValueToNPVariant):
2930         * bridge/jni/jni_jsobject.mm:
2931         (JavaJSObject::convertValueToJObject):
2932
2933 2012-05-18  Shawn Singh  <shawnsingh@chromium.org>
2934
2935         [chromium] add back-face visibility check for renderSurfaces
2936         https://bugs.webkit.org/show_bug.cgi?id=86870
2937
2938         Reviewed by Adrienne Walker.
2939
2940         Test added CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3dForFlatteningSurface
2941
2942         Chromium was not checking back-face visibility for renderSurfaces
2943         that needed it. This patch adds that check and the appropriate
2944         unit test.
2945
2946         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2947         (WebCore::layerIsInExisting3DRenderingContext):
2948         (WebCore):
2949         (WebCore::subtreeShouldRenderToSeparateSurface):
2950         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2951
2952 2012-05-18  Levi Weintraub  <leviw@chromium.org>
2953
2954         Standalone table-columns should be wrapped in anonymous tables
2955         https://bugs.webkit.org/show_bug.cgi?id=86671
2956
2957         Reviewed by Julien Chaffraix.
2958
2959         The CSS2 spec specifies that table-columns misparented outside of a table or
2960         table-column-group should be wrapped in an anonymous table. Updating 
2961         RenderObject::addChild to follow the spec.
2962         see http://www.w3.org/TR/CSS2/tables.html#anonymous-boxes for details.
2963
2964         Tests: fast/table/table-column-generates-anonymous-table.html
2965                fast/table/table-column-group-generates-anonymous-table.html
2966
2967         * rendering/RenderObject.cpp:
2968         (WebCore::RenderObject::addChild):
2969
2970 2012-05-18  Keyar Hood  <keyar@chromium.org>
2971
2972         Support imageSmoothingEnabled
2973         https://bugs.webkit.org/show_bug.cgi?id=82804
2974
2975         Reviewed by Stephen White.
2976
2977         Test: fast/canvas/canvas-imageSmoothingEnabled.html
2978
2979         Added the imageSmoothingEnabled parameter to the
2980         CanvasRenderingContext2D object. When it is set to false, it sets
2981         InterpolationQuality to InterpolationNone. When set to true, it sets
2982         the InterpolationQuality to DefaultInterpolationQuality (as that is the
2983         only other value used).
2984
2985         * html/canvas/CanvasRenderingContext2D.cpp:
2986         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2987         (WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled):
2988         (WebCore):
2989         (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
2990         * html/canvas/CanvasRenderingContext2D.h:
2991         (CanvasRenderingContext2D):
2992         * html/canvas/CanvasRenderingContext2D.idl:
2993
2994 2012-05-18  Terry Anderson  <tdanderson@chromium.org>
2995
2996         Percentage height replaced elements sometimes cause overflow of table contents
2997         https://bugs.webkit.org/show_bug.cgi?id=85581
2998
2999         Reviewed by Eric Seidel.
3000
3001         Test: fast/replaced/table-replaced-element.html
3002
3003         * rendering/RenderBox.cpp:
3004         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3005         This change guarantees that the containing block of a replaced element with percentage
3006         height will be marked as having a percentage height descendant.
3007
3008 2012-05-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3009
3010         [Qt] REGRESSION(r117501): It made almost all tests assert in debug mode
3011         https://bugs.webkit.org/show_bug.cgi?id=86854
3012
3013         Reviewed by Andreas Kling.
3014
3015         Initialize boolean flag in constructor and recheck the flag which can be 
3016         modified by another thread under mutex.
3017
3018         No new tests, fixes regression that caused layout test crash.
3019
3020         * loader/icon/IconDatabase.cpp:
3021         (WebCore::IconDatabase::IconDatabase):
3022         (WebCore::IconDatabase::syncThreadMainLoop):
3023
3024 2012-05-18  Christophe Dumez  <christophe.dumez@intel.com>
3025
3026         [EFL] Web Intents code is not compiling
3027         https://bugs.webkit.org/show_bug.cgi?id=85364
3028
3029         Reviewed by Adam Barth.
3030
3031         Add missing implementation for
3032         JSIntentConstructor::constructJSIntent() in JS bindings.
3033
3034         * CMakeLists.txt:
3035         * UseJSC.cmake:
3036         * bindings/js/JSIntentConstructor.cpp: Added.
3037         (WebCore):
3038         (WebCore::JSIntentConstructor::constructJSIntent):
3039
3040 2012-05-18  Joe Thomas  <joethomas@motorola.com>
3041
3042         background-size specified by a single value in background shorthand fails to parse.
3043         https://bugs.webkit.org/show_bug.cgi?id=86739
3044
3045         Reviewed by Tony Chang.
3046
3047         While parsing the background shorthand property, if the second parsedValue is not a valid unit,
3048         parseFillSize should return the first parsedValue instead of failing.
3049
3050         * css/CSSParser.cpp:
3051         (WebCore::CSSParser::parseFillSize):
3052
3053 2012-05-18  Tony Chang  <tony@chromium.org>
3054
3055         remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off
3056         https://bugs.webkit.org/show_bug.cgi?id=86767
3057
3058         Reviewed by Ojan Vafai.
3059
3060         We disable grid by ignoring the display type at CSS parse time.
3061
3062         Test: fast/css-grid-layout/grid-disabled-by-default.html
3063
3064         * Configurations/FeatureDefines.xcconfig:
3065         * css/CSSComputedStyleDeclaration.cpp: Remove compile checks.
3066         (WebCore):
3067         (WebCore::valueForGridPosition):
3068         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3069         * css/CSSParser.cpp:
3070         (WebCore::CSSParserContext::CSSParserContext):
3071         (WebCore::operator==):
3072         (WebCore::isValidKeywordPropertyAndValue): Move display into parseValue.
3073         (WebCore::isKeywordPropertyID):
3074         (WebCore::CSSParser::parseValue): Ignore while parsing if not enabled.
3075         (WebCore::CSSParser::parseGridTrackList):
3076         (WebCore::CSSParser::cssGridLayoutEnabled):
3077         (WebCore):
3078         * css/CSSParser.h:
3079         * css/CSSParserMode.h:
3080         (CSSParserContext):
3081         * css/CSSPrimitiveValueMappings.h:
3082         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3083         * css/CSSProperty.cpp:
3084         (WebCore::CSSProperty::isInheritedProperty):
3085         * css/CSSPropertyNames.in:
3086         * css/CSSValueKeywords.in:
3087         * css/StyleResolver.cpp:
3088         (WebCore::StyleResolver::collectMatchingRulesForList):
3089         * dom/Document.cpp:
3090         (WebCore::Document::cssGridLayoutEnabled): Added to keep track of whether grid is enabled or not.
3091         (WebCore):
3092         * dom/Document.h:
3093         * page/Settings.cpp:
3094         (WebCore::Settings::Settings):
3095         * page/Settings.h:
3096         (WebCore::Settings::setCSSGridLayoutEnabled): Added.
3097         (WebCore::Settings::cssGridLayoutEnabled): Added.
3098         (Settings):
3099         * rendering/RenderObject.cpp:
3100         (WebCore::RenderObject::createObject):
3101         * rendering/style/RenderStyle.cpp:
3102         (WebCore::RenderStyle::RenderStyle):
3103         (WebCore::RenderStyle::diff):
3104         * rendering/style/RenderStyle.h:
3105         * rendering/style/RenderStyleConstants.h:
3106         * rendering/style/StyleGridData.cpp:
3107         * rendering/style/StyleGridData.h:
3108         * rendering/style/StyleGridItemData.cpp:
3109         * rendering/style/StyleGridItemData.h:
3110         * rendering/style/StyleRareNonInheritedData.cpp:
3111         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3112         (WebCore::StyleRareNonInheritedData::operator==):
3113         * rendering/style/StyleRareNonInheritedData.h:
3114         (WebCore):
3115         (StyleRareNonInheritedData):
3116
3117 2012-05-18  Martin Robinson  <mrobinson@igalia.com>
3118
3119         OOM running webgl/sdk/tests/conformance/context/context-creation-and-destruction.html
3120         https://bugs.webkit.org/show_bug.cgi?id=80509
3121
3122         Reviewed by Alejandro G. Castro.
3123
3124         No new tests. This is covered by by context-creation-and-destruction.html
3125         Khronos conformance test which will be part of the WebKit repository once
3126         bug 44310 is closed.
3127
3128         Rework the ownership of GLContexts. Instead of having them managed by the
3129         state of window mapping or removed by calling a static method, always have
3130         them owned by the callers. This makes all GLContext creators factory methods
3131         that return PassOwnPtr.
3132
3133         This change also switches the sharing context for a WebView from the window
3134         context to a global shared context. This simplifies things greatly, allowing
3135         the removal of GLContextGtk and makes the factory change easier.
3136
3137         * GNUmakefile.list.am: Remove GLContextGtk.cpp from the source list.
3138         * platform/graphics/cairo/GLContext.cpp:
3139         (WebCore::GLContext::sharingContext): Added, getter for the global sharing context.
3140         (WebCore::GLContext::createContextForWindow): Added, a factory method for creating
3141         window contexts.
3142         (WebCore::GLContext::createOffscreenContext): Allow passing a sharing context here.
3143         (WebCore::GLContext::makeContextCurrent): Assert that this is the main thread, to
3144         increase the guarantee that we are only using these contexts on the main thread.
3145         (WebCore::GLContext::getCurrent): Ditto.
3146         * platform/graphics/cairo/GLContext.h: Update the above method signatures and remove
3147         createOffscreenContext, which has just been subsumed into the other factory methods.
3148         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: The HostWindow is no longer needed
3149         to get the sharing context, so we can simplify things quite a bit and make a platform
3150         independent implementation here.
3151         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Ditto.
3152         * platform/graphics/glx/GLContextGLX.cpp: Modify all the factory methods to return PassOwnPtr.
3153         * platform/graphics/glx/GLContextGLX.h: Ditto.
3154         * platform/graphics/gtk/GLContextGtk.cpp: Removed.
3155
3156 2012-05-18  Pablo Flouret  <pablof@motorola.com>
3157
3158         Script elements inserted while fragment parsing should have their "already started" flag set.
3159         https://bugs.webkit.org/show_bug.cgi?id=86376
3160
3161         Reviewed by Ryosuke Niwa.
3162
3163         Step 3 of:
3164         http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#scriptTag
3165
3166         Test: fast/parser/script-already-started-flag-in-fragment-parsing-mode.html
3167
3168         * html/HTMLScriptElement.cpp:
3169         (WebCore::HTMLScriptElement::create):
3170         * html/HTMLScriptElement.h:
3171         (HTMLScriptElement):
3172         * html/parser/HTMLConstructionSite.cpp:
3173         (WebCore::HTMLConstructionSite::insertScriptElement):
3174
3175 2012-05-18  Shezan Baig  <shezbaig.wk@gmail.com>
3176
3177         Expose FrameSelection::absoluteCaretBounds via window.internals
3178         https://bugs.webkit.org/show_bug.cgi?id=86390
3179
3180         Reviewed by Ryosuke Niwa.
3181
3182         Add 'absoluteCaretBounds' method to Internals, which returns the
3183         FrameSelection::absoluteCaretBounds.
3184
3185         Test: editing/selection/internal-caret-rect.html
3186
3187         * WebCore.exp.in: Export the necessary symbols.
3188         * testing/Internals.cpp:
3189         (WebCore::Internals::absoluteCaretBounds): Implementation of new method.
3190         (WebCore):
3191         * testing/Internals.h: Declare the new method.
3192         (Internals):
3193         * testing/Internals.idl: Declare the new method.
3194
3195 2012-05-18  Dan Bernstein  <mitz@apple.com>
3196
3197         <rdar://problem/11467250> No focus ring around popup buttons
3198
3199         Reviewed by Anders Carlsson.
3200
3201         The exact same issue was fixed for buttons drawn in ThemeMac.mm in <rdar://problem/10542095>.
3202         This change extends the fix to also cover buttons drawn in RenderThemeMac.mm.
3203
3204         * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSCellExtras.{h.m}.
3205         * platform/mac/ThemeMac.mm: Removed the definitions of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
3206         and -[NSCell _web_drawFocusRingWithFrame:inView:] from here. They are now in WebCoreNSCellExtras.
3207         * platform/mac/WebCoreNSCellExtras.h: Added.
3208         * platform/mac/WebCoreNSCellExtras.m: Added.
3209         (-[NSCell _web_drawFocusRingWithFrame:inView:]): Moved from ThemeMac.mm here.
3210         * rendering/RenderThemeMac.mm:
3211         (WebCore::RenderThemeMac::paintMenuList): Changed to use -_web_drawFocusRingWithFrame:inView:.
3212         (WebCore::RenderThemeMac::setPopupButtonCellState): Removed call to updateFocusedState() when
3213         the focus ring is drawn separately.
3214
3215 2012-05-18  Philippe Normand  <pnormand@igalia.com>
3216
3217         [GStreamer] Fix early return of the mimeTypeCache function after r117207.
3218
3219         Rubber-stamped by Martin Robinson.
3220
3221         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Set
3222         typeListInitialized to true after the cache has been filled so
3223         that next call to the function goes through the early return path.
3224
3225 2012-05-18  Martin Robinson  <mrobinson@igalia.com>
3226
3227         Get IndexedDB closer to building for GTK+.
3228
3229         Reviewed by Philippe Normand.
3230
3231         No new tests. This is only a build fix.
3232
3233         * GNUmakefile.am: Add the appropriate option to enable LevelDB support.
3234         * GNUmakefile.list.am: Add missing indexed database files to the source list.
3235
3236 2012-05-18  Dan Bernstein  <mitz@apple.com>
3237
3238         Removed stale references in the Xcode project after r117369.
3239
3240         * WebCore.xcodeproj/project.pbxproj: Removed references to CSSStyleDeclaration.cpp.
3241
3242 2012-05-18  Vsevolod Vlasov  <vsevik@chromium.org>
3243
3244         Web Inspector: Add resource to UISourceCode constructor.
3245         https://bugs.webkit.org/show_bug.cgi?id=86853
3246
3247         Reviewed by Pavel Feldman.
3248
3249         This is a first step of merging resource revision support into UISourceCode.
3250
3251         * inspector/front-end/CompilerScriptMapping.js:
3252         * inspector/front-end/DebuggerResourceBinding.js:
3253         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
3254         (WebInspector.DebuggerResourceBinding.setScriptSource):
3255         * inspector/front-end/DebuggerScriptMapping.js:
3256         (WebInspector.DebuggerScriptMapping.prototype._debuggerReset):
3257         * inspector/front-end/JavaScriptSource.js:
3258         * inspector/front-end/RawSourceCode.js:
3259         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3260         * inspector/front-end/ResourceScriptMapping.js:
3261         (WebInspector.ResourceScriptMapping.prototype.addScript):
3262         * inspector/front-end/Script.js:
3263         (WebInspector.Script.prototype.isAnonymousScript):
3264         * inspector/front-end/ScriptSnippetModel.js:
3265         (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
3266         (WebInspector.SnippetJavaScriptSource):
3267         * inspector/front-end/StylesPanel.js:
3268         (WebInspector.StyleSource):
3269         (WebInspector.StyleSourceFrame):
3270         (WebInspector.StyleSourceFrame.prototype.commitEditing):
3271         (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
3272         (WebInspector.StyleSourceFrame.prototype._contentChanged):
3273         * inspector/front-end/UISourceCode.js:
3274         (WebInspector.UISourceCode):
3275         (WebInspector.UISourceCode.prototype.resource):
3276
3277 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3278
3279         Web Inspector: error when expanding an HTMLAllCollection object in the console
3280         https://bugs.webkit.org/show_bug.cgi?id=86741
3281
3282         Reviewed by Pavel Feldman.
3283
3284         RuntimeAgent.callFunctionOn should work correcly with arguments of type HTMLAllCollection.
3285
3286         * inspector/InjectedScriptSource.js:
3287
3288 2012-05-18  Pavel Feldman  <pfeldman@chromium.org>
3289
3290         Web Inspector: resource revision content is not rendered properly. Resource content is shown instead.
3291         https://bugs.webkit.org/show_bug.cgi?id=86856
3292
3293         Reviewed by Vsevolod Vlasov.
3294
3295         * inspector/front-end/ResourceView.js:
3296         (WebInspector.ResourceRevisionSourceFrame):
3297         (WebInspector.ResourceRevisionSourceFrame.prototype.get resource):
3298
3299 2012-05-18  Yi Shen  <yi.4.shen@nokia.com>
3300
3301         REGRESSION (r102553): Smart links do not work
3302         https://bugs.webkit.org/show_bug.cgi?id=85463
3303
3304         Reviewed by NOBODY Ryosuke Niwa.
3305
3306         To fix the regression of smart links, we need to check TextCheckingTypeLink option in
3307         Editor::markAndReplaceFor().
3308
3309         Test: editing/inserting/typing-space-to-trigger-smart-link.html
3310
3311         * editing/Editor.cpp:
3312         (WebCore::Editor::markAndReplaceFor):
3313
3314 2012-05-18  Alexander Pavlov  <apavlov@chromium.org>
3315
3316         Web Inspector: empty CSS Declaration is generated by clicking the left space of 'user agent stylesheet' on Styles sidebar of Elements panel
3317         https://bugs.webkit.org/show_bug.cgi?id=86850
3318
3319         Reviewed by Yury Semikhatsky.
3320
3321         * inspector/front-end/StylesSidebarPane.js:
3322         (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
3323
3324 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3325
3326         Unreviewed. Remove console.error() call committed by mistake.
3327
3328         * inspector/front-end/View.js:
3329         (WebInspector.View._assert):
3330
3331 2012-05-18  Pavel Feldman  <pfeldman@chromium.org>
3332
3333         Web Inspector: live edit resets cursor to 0,0
3334         https://bugs.webkit.org/show_bug.cgi?id=86851
3335
3336         Reviewed by Vsevolod Vlasov.
3337
3338         * inspector/front-end/DebuggerResourceBinding.js:
3339         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
3340         (WebInspector.DebuggerResourceBinding.setScriptSource):
3341
3342 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3343
3344         Web Inspector: exception in console when pressing % button in CPU profile view
3345         https://bugs.webkit.org/show_bug.cgi?id=86849
3346
3347         Reviewed by Pavel Feldman.
3348
3349         Use root node to get children, not DataGrid object.
3350
3351         * inspector/front-end/CPUProfileView.js:
3352         (WebInspector.CPUProfileView.prototype.refreshVisibleData):
3353
3354 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3355
3356         Web Inspector: remove unnecessary indirection from profile types
3357         https://bugs.webkit.org/show_bug.cgi?id=86845
3358
3359         Reviewed by Pavel Feldman.
3360
3361         Introduced CSSProfileHeader and CPUProfileHeader, moved view creation from
3362         the type to corresponding profile headers. Removed some inderection and
3363         private fields assigned in random places. Added type annotations.
3364
3365         * inspector/front-end/CPUProfileView.js:
3366         (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
3367         (WebInspector.CPUProfileType.prototype.createProfile):
3368         (WebInspector.CPUProfileHeader):
3369         (WebInspector.CPUProfileHeader.prototype.createSidebarTreeElement):
3370         (WebInspector.CPUProfileHeader.prototype.createView):
3371         * inspector/front-end/CSSSelectorProfileView.js:
3372         (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile):
3373         (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
3374         (WebInspector.CSSSelectorProfileType.prototype.createProfile):
3375         (WebInspector.CSSProfileHeader):
3376         (WebInspector.CSSProfileHeader.prototype.createSidebarTreeElement):
3377         (WebInspector.CSSProfileHeader.prototype.createView):
3378         * inspector/front-end/HeapSnapshotView.js:
3379         (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
3380         (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
3381         (WebInspector.HeapProfileHeader):
3382         (WebInspector.HeapProfileHeader.prototype.createSidebarTreeElement):
3383         (WebInspector.HeapProfileHeader.prototype.createView):
3384         (WebInspector.HeapProfileHeader.prototype.load):
3385         (WebInspector.HeapProfileHeader.prototype.saveToFile):
3386         * inspector/front-end/ProfileLauncherView.js:
3387         (WebInspector.ProfileLauncherView):
3388         (WebInspector.ProfileLauncherView.prototype.addProfileType):
3389         (WebInspector.ProfileLauncherView.prototype._profileTypeChanged):
3390         * inspector/front-end/ProfilesPanel.js:
3391         (WebInspector.ProfileType):
3392         (WebInspector.ProfileHeader):
3393         (WebInspector.ProfileHeader.prototype.profileType):
3394         (WebInspector.ProfileHeader.prototype.createSidebarTreeElement):
3395         (WebInspector.ProfileHeader.prototype.existingView):
3396         (WebInspector.ProfileHeader.prototype.view):
3397         (WebInspector.ProfileHeader.prototype.createView):
3398         (WebInspector.ProfilesPanel.prototype._reset):
3399         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3400         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
3401         (WebInspector.ProfilesPanel.prototype.showProfile):
3402         (WebInspector.ProfilesPanel.prototype.getProfiles):
3403         (WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
3404         (WebInspector.ProfilesPanel.prototype._searchableViews):
3405         * inspector/front-end/View.js:
3406         (WebInspector.View._assert):
3407
3408 2012-05-18  Kentaro Hara  <haraken@chromium.org>
3409
3410         [V8][Refactoring] Remove V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0)
3411         https://bugs.webkit.org/show_bug.cgi?id=86802
3412
3413         Reviewed by Adam Barth.
3414
3415         As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5),
3416         I am refactoring a series of confusing throwError()s. This would be
3417         the final patch for the refactoring.
3418
3419         This patch removes V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0).
3420         Also this patch refactors up a couple of throwError()s that I've forgot to
3421         refactor in the previous patches.
3422
3423         No tests. No change in behavior.
3424
3425         * bindings/v8/V8NodeFilterCondition.cpp:
3426         (WebCore::V8NodeFilterCondition::acceptNode):
3427         * bindings/v8/V8Proxy.h:
3428         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3429         (WebCore::V8ArrayBuffer::constructorCallback):
3430         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3431         (WebCore::constructWebGLArray):
3432         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3433         (WebCore::V8SQLResultSetRowList::itemCallback):
3434
3435 2012-05-18  MORITA Hajime <morrita@google.com>
3436
3437         Unreviewed attempt to fix build breakage on r117572
3438
3439         * editing/Editor.cpp:
3440         (WebCore::Editor::willDetachPage):
3441