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