Remove CodeGenerator::StripModule
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-15  Kentaro Hara  <haraken@chromium.org>
2
3         Remove CodeGenerator::StripModule
4         https://bugs.webkit.org/show_bug.cgi?id=102338
5
6         Reviewed by Adam Barth.
7
8         Now WebKit IDL files have no modules. (The Web IDL spec has no modules.)
9         We can remove CodeGenerator::StripModule.
10         This might break some internal builds if the internal builds are still
11         using modules. Ping haraken@ you observe it.
12
13         No tests. No change in behavior.
14
15         * bindings/scripts/CodeGenerator.pm:
16         (ForAllParents):
17         (AttributeNameForGetterAndSetter):
18         (IsStrictSubtype):
19         * bindings/scripts/CodeGeneratorCPP.pm:
20         (GetClassName):
21         (GetImplClassName):
22         (GetParentImplClassName):
23         (GetParent):
24         (ConversionNeeded):
25         (GetCPPTypeGetter):
26         (AddForwardDeclarationsForType):
27         (AddIncludesForType):
28         (GenerateImplementation):
29         * bindings/scripts/CodeGeneratorGObject.pm:
30         (GetParentClassName):
31         (GetParentGObjType):
32         (GetClassName):
33         * bindings/scripts/CodeGeneratorJS.pm:
34         (GetParentClassName):
35         (AddIncludesForTypeInImpl):
36         (AddIncludesForTypeInHeader):
37         (GenerateParametersCheckExpression):
38         (GenerateImplementation):
39         (GenerateParametersCheck):
40         (GetNativeTypeFromSignature):
41         (JSValueToNative):
42         (NativeToJSValue):
43         * bindings/scripts/CodeGeneratorObjC.pm:
44         (GetClassName):
45         (GetImplClassName):
46         (GetParentImplClassName):
47         (GetParentAndProtocols):
48         (GetPropertyAttributes):
49         (ConversionNeeded):
50         (GetObjCTypeGetter):
51         (AddForwardDeclarationsForType):
52         (AddIncludesForType):
53         (GenerateImplementation):
54         * bindings/scripts/CodeGeneratorV8.pm:
55         (AddIncludesForType):
56         (GenerateHeader):
57         (IsSubType):
58         (GenerateSingleBatchedAttribute):
59         (GenerateImplementation):
60         (BaseInterfaceName):
61         (GetTypeFromSignature):
62         (IsWrapperType):
63
64 2012-11-15  Luke Macpherson   <macpherson@chromium.org>
65
66         Make assumptions about m_parentStyle consistent within StyleResolver::applyProperty()
67         https://bugs.webkit.org/show_bug.cgi?id=101696
68
69         Reviewed by Tony Chang.
70
71         Most of the code in StyleResolver::applyProperty assumes that isInherit implies that m_parentStyle is available.
72         This patch ASSERTs that this assumption is correct, and removes the few existing checks to maintain consistency.
73
74         No new tests / covered by all existing CSS tests.
75
76         * css/StyleResolver.cpp:
77         (WebCore::StyleResolver::applyProperty):
78
79 2012-11-15  Kentaro Hara  <haraken@chromium.org>
80
81         [V8] Remove redundant $interfaceName from function parameters
82         https://bugs.webkit.org/show_bug.cgi?id=102334
83
84         Reviewed by Adam Barth.
85
86         'sub func { my $dataNode = shift; my $interfaceName = shift; }'
87         is redundant. We can get $interfaceName by $dataNode->name.
88
89         No tests. No change in behavior.
90
91         * bindings/scripts/CodeGeneratorV8.pm:
92         (GenerateOpaqueRootForGC):
93         (GenerateHeader):
94         (GenerateConstructorGetter):
95         (GenerateNormalAttrGetter):
96         (GenerateReplaceableAttrSetter):
97         (GenerateNormalAttrSetter):
98         (GenerateOverloadedFunctionCallback):
99         (GenerateFunctionCallback):
100         (GenerateOverloadedConstructorCallback):
101         (GenerateSingleConstructorCallback):
102         (GenerateConstructorCallback):
103         (GenerateEventConstructorCallback):
104         (GenerateTypedArrayConstructorCallback):
105         (GenerateNamedConstructorCallback):
106         (GenerateBatchedAttributeData):
107         (GenerateImplementation):
108         (GenerateToV8Converters):
109         (GetNativeTypeForConversions):
110
111 2012-11-15  Simon Fraser  <simon.fraser@apple.com>
112
113         Ensure that scrollbar layers show debug borders
114         https://bugs.webkit.org/show_bug.cgi?id=102429
115
116         Reviewed by Anders Carlsson.
117
118         After r133517, scrollbar layers no longer showed debug borders, which
119         was very confusing. Fix this by explicitly calling setShowDebugBorder()
120         on the scrollbar-related layers owned by RenderLayerCompositor
121         and RenderLayerBacking.
122         
123         * rendering/RenderLayerBacking.cpp:
124         (WebCore::RenderLayerBacking::updateDebugIndicators):
125         * rendering/RenderLayerCompositor.cpp:
126         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
127         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
128
129 2012-11-15  Andreas Kling  <akling@apple.com>
130
131         ASSERTION FAILED: fastAttributeLookupAllowed(name) for 7 layout tests
132         <http://webkit.org/b/102423>
133
134         Reviewed by Anders Carlsson.
135
136         Use Element::getAttributeItem() to find out if the element has a given attribute
137         instead of fastHasAttribute() since that causes assertions for the "style" attribute.
138
139         * html/parser/HTMLConstructionSite.cpp:
140         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
141
142 2012-11-15  Erik Arvidsson  <arv@chromium.org>
143
144         Update DOMException name: DOMStringSizeError
145         https://bugs.webkit.org/show_bug.cgi?id=102089
146
147         Reviewed by Ojan Vafai.
148
149         Patch 2 of 25 to update DOMException name to match the spec and Firefox.
150
151         DOMSTRING_SIZE_ERR is historical and not used in any spec or in our code.
152
153         * dom/DOMCoreException.cpp:
154         * dom/ExceptionCode.h:
155
156 2012-11-15  Joshua Bell  <jsbell@chromium.org>
157
158         IndexedDB: Indexing tests are flaky-crashing
159         https://bugs.webkit.org/show_bug.cgi?id=102283
160
161         Reviewed by Tony Chang.
162
163         Processing the final task can cause IDBTransactionBackendImpl references to be released
164         by all holders. Prior to looping over the tasks (or, in an even earlier implementation,
165         swapping queues) control would fall off the end of the function. The loop termination
166         check introduced in http://wkrev.com/134529 requires that |this| be kept alive until
167         the method completes.
168
169         Test: storage/indexeddb/transaction-crash-in-tasks.html
170
171         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
172         (WebCore::IDBTransactionBackendImpl::abort): Rename self => protect.
173         (WebCore::IDBTransactionBackendImpl::commit): Rename self => protect.
174         (WebCore::IDBTransactionBackendImpl::taskTimerFired): New self-ref.
175
176 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
177
178         MutationObserver wrapper should not be collected while still observing
179         https://bugs.webkit.org/show_bug.cgi?id=102328
180
181         Reviewed by Adam Barth.
182
183         Make MutationObserver an ActiveDOMObject so that the wrapper is not
184         collected while it is still observing the DOM. This is needed because
185         the wrapper is passed into the callback and expandos on the wrapper
186         should be preserved.
187
188         Test: fast/mutation/observer-wrapper-dropoff.html
189
190         * bindings/js/JSMutationObserverCustom.cpp:
191         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
192         * bindings/v8/custom/V8MutationObserverCustom.cpp:
193         (WebCore::V8MutationObserver::constructorCallback):
194         * dom/MutationObserver.cpp:
195         (WebCore::MutationObserver::create):
196         (WebCore::MutationObserver::MutationObserver):
197         (WebCore::MutationObserver::observationStarted):
198         (WebCore::MutationObserver::observationEnded):
199         * dom/MutationObserver.h:
200         (WebCore):
201         * dom/MutationObserver.idl:
202
203 2012-11-15  Tony Chang  <tony@chromium.org>
204
205         Generate Settings from a .in file
206         https://bugs.webkit.org/show_bug.cgi?id=100393
207
208         Reviewed by Adam Barth.
209
210         Generate most settings from an .in file to reduce human mistakes and
211         to make it easier to add/remove new settings.
212
213         I only moved settings that are easy to move at this point.  There are many more that
214         have some minor naming inconsistencies that we can also move to Settings.in, but I'll
215         do that in a follow up patch.
216
217         This doesn't generate SettingInternals.* yet-- we can do that in a follow up patch.
218
219         No new tests, this is a refactor.
220
221         * CMakeLists.txt:
222         * DerivedSources.make: Run make_settings.pl.
223         * DerivedSources.pri: Run make_settings.pl.
224         * GNUmakefile.am: Run make_settings.pl.
225         * GNUmakefile.list.am:
226         * WebCore.exp.in: Remove functions that are now inline in the header.
227         * WebCore.gyp/WebCore.gyp: Run action_makenames.py, which will run make_settings.pl.
228         * WebCore.gyp/scripts/action_makenames.py:
229         (main): Allow make_settings.pl.
230         * WebCore.order: Remove functions that are now inline in the header.
231         * html/ValidationMessage.cpp:
232         (WebCore::ValidationMessage::setMessageDOMAndStartTimer): Fix a typo in "magnification".
233         * page/Settings.cpp:
234         (WebCore::Settings::Settings): Replace generated settings with SETTINGS_INITIALIZER_LIST.
235         * page/Settings.h:
236         (Settings): Replace generated settings with SETTINGS_GETTERS_AND_SETTERS and SETTINGS_MEMBER_VARIABLES.
237         * page/Settings.in: Added.
238         * page/make_settings.pl: Added.
239         (defaultItemFactory):
240         (generateCode):
241         (generateHeader): Use a similar model as make_names.pl.
242         (printConditionalMacros):
243         (printGettersAndSetters):
244         (printMemberVariables):
245         (printGetterAndSetter):
246         (printInitializerList):
247         (printInitializer):
248
249 2012-11-15  Alpha Lam  <hclam@chromium.org>
250
251         [chromium] Refactoring to move logic of creating lazy decoded SkBitmap into DeferredImageDecoder
252         https://bugs.webkit.org/show_bug.cgi?id=102019
253
254         Reviewed by Stephen White.
255
256         Goal of this change is to keep ImageDecodingStore clean and only do
257         image caching. Logic of creating lazily decoded SkBitmaps is moved into
258         DeferredImageDecoder.
259
260         In particular these two methods are moved:
261         - ImageDecodingStore::createLazyDecodedSkBitmap
262         - ImageDecodingStore::resizeLazyDecodedSkBitmap
263
264         No new tests. There is no new code (really). It is just moved from
265         ImageDecodingStore to DeferredImageDecoder.
266
267         No change in behavior. Code is tested with:
268         Unit tests: webkit_unit_tests
269         Layout test: platform/chromium/virtual/deferred
270
271         * platform/graphics/chromium/DeferredImageDecoder.cpp:
272         (WebCore::DeferredImageDecoder::isLazyDecoded):
273         (WebCore):
274         (WebCore::DeferredImageDecoder::resizeLazyDecodedSkBitmap):
275         (WebCore::DeferredImageDecoder::frameBufferAtIndex):
276         (WebCore::DeferredImageDecoder::setData):
277         (WebCore::DeferredImageDecoder::createLazyDecodedSkBitmap):
278         * platform/graphics/chromium/DeferredImageDecoder.h:
279         (WebCore):
280         (DeferredImageDecoder):
281         * platform/graphics/chromium/ImageDecodingStore.cpp:
282         * platform/graphics/chromium/ImageDecodingStore.h:
283         (ImageDecodingStore):
284         * platform/graphics/chromium/ImageFrameGenerator.cpp:
285         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
286         * platform/graphics/chromium/ImageFrameGenerator.h:
287         (WebCore::ImageFrameGenerator::create):
288         (ImageFrameGenerator):
289         * platform/graphics/skia/NativeImageSkia.cpp:
290         (WebCore::NativeImageSkia::resizedBitmap):
291
292 2012-11-15  Roger Fong  <roger_fong@apple.com>
293
294         Unreviewed. Build fix for Windows after r134767.
295
296         Update vsprops and vcproj files to reflect changes to file locations in r134767.
297
298         * WebCore.vcproj/WebCore.vcproj:
299         * WebCore.vcproj/WebCoreCommon.vsprops:
300
301 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
302
303         Track subframe count to avoid traversing the tree when there's no subframes
304         https://bugs.webkit.org/show_bug.cgi?id=101821
305
306         Reviewed by Ojan Vafai.
307
308         Bug 101619 showed a 9-14% improvement from not walking the children during
309         removeChild looking for frames when there's known to be no frames. The fix
310         in that bug only avoids this walk when the whole document has no frames, this
311         patch extends it to skip traversing subtrees that have no iframes by hooking
312         the frame assignment to walk up the tree and keep track of the count of frames
313         in the subtree on contentFrame assignment and then decrement it on disconnect.
314
315         No new tests, this is just a perf refactor.
316
317         * dom/ContainerNode.cpp:
318         (WebCore::willRemoveChildren):
319         * dom/ContainerNodeAlgorithms.cpp:
320         (WebCore::ChildFrameDisconnector::collectFrameOwners):
321         * dom/ContainerNodeAlgorithms.h:
322         (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
323         (ChildFrameDisconnector):
324         (WebCore::ChildFrameDisconnector::collectFrameOwners):
325           Renamed from collectDescendant() to better reflect what it really does.
326         (WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):
327           Renamed from disconnect() to better reflect what it really does.
328         (WebCore::ChildFrameDisconnector::disconnect):
329           New method that does the collection of frame owners on either the root
330           or only it's descendants.
331         * dom/Node.cpp:
332         (WebCore::Node::connectedSubframeCount):
333         (WebCore::Node::incrementConnectedSubframeCount):
334         (WebCore::Node::decrementConnectedSubframeCount):
335         * dom/Node.h:
336         * dom/NodeRareData.h:
337         (WebCore::NodeRareData::NodeRareData):
338         (WebCore::NodeRareData::connectedSubframeCount):
339         (WebCore::NodeRareData::incrementConnectedSubframeCount):
340         (WebCore::NodeRareData::decrementConnectedSubframeCount):
341         * html/HTMLFrameOwnerElement.cpp:
342         (WebCore::HTMLFrameOwnerElement::setContentFrame):
343         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
344
345 2012-11-15  Alpha Lam  <hclam@chromium.org>
346
347         [chromium] WebGL texImage2D fails with deferred image decoding
348         https://bugs.webkit.org/show_bug.cgi?id=102310
349
350         Reviewed by Kenneth Russell.
351
352         Skia's implementation of GraphicsContext3D::getImageData() uses ImageSource
353         to decode an image. When deferred image decoding is enabled this class
354         generates an ImageFrame marked as incomplete, which WebGL rejects. This results
355         in failing of texImage2D.
356
357         This change uses ImageDecoder directly instead of ImageSource. This skips
358         the code path of deferred image decoding. This behavior is correct because
359         GraphicsContext3D wants to decode the image differently with alpha not
360         premultiplied and color profile applied optionally.
361
362         Added a test to prove this change fixed the bug.
363
364         Test: fast/images/webgl-teximage2d.html
365
366         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
367         (WebCore::GraphicsContext3D::getImageData):
368
369 2012-11-15  Jer Noble  <jer.noble@apple.com>
370
371         Further unreviewed build fix. Add explicit static_casts to avoid implicit precision warnings.
372
373         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
374         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):
375
376 2012-11-15  Jer Noble  <jer.noble@apple.com>
377
378         Unreviewed build fix. Avoid implicit precision and unused parameter warnings.
379
380         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
381         (WebCore::WebCoreAVFResourceLoader::responseReceived):
382         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):
383
384 2012-11-15  Adam Barth  <abarth@webkit.org>
385
386         [V8] We shouldn't call deprecated V8 APIs
387         https://bugs.webkit.org/show_bug.cgi?id=102407
388
389         Reviewed by Eric Seidel.
390
391         This patch was written by Sven Panne on the V8 team. He would prefer
392         that we not call deprecated V8 APIs. This patch updates these call
393         sites to more modern idioms.
394
395         * bindings/scripts/CodeGeneratorV8.pm:
396         (GenerateConstructorGetter):
397         (GenerateImplementation):
398         * bindings/scripts/test/V8/V8TestObj.cpp:
399         (WebCore::TestObjV8Internal::TestObjConstructorGetter):
400         * bindings/v8/PageScriptDebugServer.cpp:
401         (WebCore::PageScriptDebugServer::addListener):
402         * bindings/v8/ScriptController.cpp:
403         (WebCore::ScriptController::setContextDebugId):
404         (WebCore::ScriptController::contextDebugId):
405         * bindings/v8/ScriptProfiler.cpp:
406         (WebCore::ScriptProfiler::objectByHeapObjectId):
407             - This code doesn't seem to do anything anymore.
408         * bindings/v8/V8DOMConfiguration.h:
409         (WebCore::V8DOMConfiguration::configureAttribute):
410         * bindings/v8/V8DOMWindowShell.cpp:
411         (WebCore::setInjectedScriptContextDebugId):
412         * bindings/v8/V8DOMWrapper.cpp:
413         (WebCore::V8DOMWrapper::maybeDOMWrapper):
414         (WebCore::V8DOMWrapper::isWrapperOfType):
415         * bindings/v8/V8EventListenerList.h:
416         (WebCore::V8EventListenerList::doFindWrapper):
417         (WebCore::V8EventListenerList::findOrCreateWrapper):
418         * bindings/v8/WorkerContextExecutionProxy.cpp:
419         (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
420         * bindings/v8/WrapperTypeInfo.h:
421         (WebCore::WrapperTypeInfo::unwrap):
422
423 2012-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
424
425         Unreviewed, rolling out r134800 and r134805.
426         http://trac.webkit.org/changeset/134800
427         http://trac.webkit.org/changeset/134805
428         https://bugs.webkit.org/show_bug.cgi?id=102417
429
430         This patch broke chromium port (Requested by jianli on
431         #webkit).
432
433         * Modules/mediastream/RTCPeerConnection.cpp:
434         (WebCore::RTCPeerConnection::RTCPeerConnection):
435         (WebCore::RTCPeerConnection::createOffer):
436         (WebCore::RTCPeerConnection::createAnswer):
437         (WebCore::RTCPeerConnection::setLocalDescription):
438         (WebCore::RTCPeerConnection::localDescription):
439         (WebCore::RTCPeerConnection::setRemoteDescription):
440         (WebCore::RTCPeerConnection::remoteDescription):
441         (WebCore::RTCPeerConnection::updateIce):
442         (WebCore::RTCPeerConnection::addIceCandidate):
443         (WebCore::RTCPeerConnection::readyState):
444         (WebCore::RTCPeerConnection::iceState):
445         (WebCore::RTCPeerConnection::addStream):
446         (WebCore::RTCPeerConnection::close):
447         (WebCore::RTCPeerConnection::stop):
448         (WebCore::RTCPeerConnection::changeReadyState):
449         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
450         * Modules/mediastream/RTCPeerConnection.h:
451         (RTCPeerConnection):
452         * Modules/mediastream/RTCPeerConnection.idl:
453         * dom/EventNames.h:
454         (WebCore):
455         * platform/mediastream/RTCDataChannelDescriptor.cpp:
456         (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
457         (WebCore::RTCDataChannelDescriptor::readyStateChanged):
458         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
459         (RTCPeerConnectionHandlerClient):
460         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
461         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
462         (RTCPeerConnectionHandlerChromium):
463
464 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
465
466         Remove Node::aboutToUnload and be more explicit about what it was for
467         https://bugs.webkit.org/show_bug.cgi?id=102357
468
469         Reviewed by Ryosuke Niwa.
470
471         Node::aboutToUnload was confusingly named because it was only called on
472         the focused node, and it really only existed to support notifying the
473         embedder that inputs should stop being editable on unload. Instead add
474         a new method to HTMLInputElement that ends editing and call that
475         explicitly in the FrameLoader so it's clear what this is about.
476
477         No new tests, this is just a refactoring.
478
479         * dom/Node.h:
480         * html/HTMLInputElement.cpp:
481         (WebCore::HTMLInputElement::endEditing):
482             New method that handles finishing editing.
483         * html/HTMLInputElement.h:
484         (HTMLInputElement):
485         * html/TextFieldInputType.cpp:
486         (WebCore::TextFieldInputType::handleBlurEvent):
487             Use the new method to reduce code duplication.
488         * loader/FrameLoader.cpp:
489         (WebCore::FrameLoader::stopLoading):
490             Be explicit about what this check was for.
491
492 2012-11-15  Tommy Widenflycht  <tommyw@google.com>
493
494         [chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
495         https://bugs.webkit.org/show_bug.cgi?id=102386
496
497         Reviewed by Adam Barth.
498
499         Existing tests expanded to cover patch.
500
501         * platform/mediastream/RTCDataChannelDescriptor.cpp:
502         (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
503         (WebCore::RTCDataChannelDescriptor::readyStateChanged):
504         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
505         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
506         (WebCore):
507         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
508         (WebKit):
509         (RTCPeerConnectionHandlerChromium):
510
511 2012-11-15  Rick Byers  <rbyers@chromium.org>
512
513         No tests for changing mouse cursors
514         https://bugs.webkit.org/show_bug.cgi?id=100550
515
516         Reviewed by Brent Fulgham.
517
518         Add infrastructure to keep track of the last set mouse cursor,
519         and then to query it from DumpRenderTree.  Also adds ASSERTs to help ensure
520         we can reliably detect when an uninitialized Cursor object is used (such as
521         the one that can be returned from OptionalCursor in the NoCursorChange scenario).
522
523         Test: fast/events/mouse-cursor.html
524
525         * WebCore.exp.in: Add Cursor copy ctor export
526         * page/EventHandler.cpp:
527         (WebCore::OptionalCursor::cursor):
528         (WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor
529         * page/EventHandler.h:
530         (WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor
531         * platform/Cursor.h:
532         (WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
533         (WebCore::Cursor::type): Assert cursor type is valid.
534         * testing/Internals.cpp:
535         (WebCore::cursorTypeToString): Helper to convert cursor type to enum
536         (WebCore):
537         (WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor
538         * testing/Internals.h: Declare getCurrentCursorInfo
539         * testing/Internals.idl: Declare getCurrentCursorInfo
540
541 2012-11-13  Jer Noble  <jer.noble@apple.com>
542
543         Support loading of blob URLs in AVFoundation.
544         https://bugs.webkit.org/show_bug.cgi?id=102182
545
546         Reviewed by Eric Carlson.
547
548         Add support for BLOB (and other non-natively supported schemed) URLs through the AVAssetResourceLoader API.
549
550         Test: media/video-src-blob.html
551
552         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
553         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
554         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Only go down the encrypted
555             media path if the key scheme is skp://.
556         (WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Added.  Cancel resource loading if
557             the media engine requests it.
558         (WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Use the new, non-deprecated API.
559         
560         Use the dispatch_main_queue() as the AVAssetResourceLoadDelegate queue now that <rdar://problem/12362461> is fixed.
561         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
562         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
563         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
564         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
565
566         Add a new helper class to manage loading the CachedRawResource and feed the incoming
567         data to the AVAssetResourceLoader.
568         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Added.
569         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: Added.
570         (WebCore::WebCoreAVFResourceLoader::create): Simple factory.
571         (WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader): Simple constructor.
572         (WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader): Simple destructor.
573         (WebCore::WebCoreAVFResourceLoader::startLoading): Tell the cachedResourceLoader to schedule loading.
574         (WebCore::WebCoreAVFResourceLoader::stopLoading): Remove this as a client of the resource.
575         (WebCore::WebCoreAVFResourceLoader::responseReceived): Fill in the contentInformation field of the 
576             AVAssetResourceLoadingRequest.
577         (WebCore::WebCoreAVFResourceLoader::dataReceived): Call fulfillRequestWithResource.
578         (WebCore::WebCoreAVFResourceLoader::notifyFinished): Tell the AVAssetResourceLoadingRequest that loading
579             has completed.
580         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Fill in (if possible) the dataRequest
581             field of the AVAssetResourceLoadingRequest.
582
583         Add a MediaPlayerClient method allowing MediaPlayerPrivate subclasses to access the HTMLMediaElement's
584         document's cachedResourceLoader.
585         * html/HTMLMediaElement.cpp:
586         (WebCore::HTMLMediaElement::mediaPlayerCachedResourceLoader):
587         * html/HTMLMediaElement.h:
588         * platform/graphics/MediaPlayer.cpp:
589         (WebCore::MediaPlayer::cachedResourceLoader):
590         * platform/graphics/MediaPlayer.h:
591         (WebCore::MediaPlayerClient::mediaPlayerCachedResourceLoader):
592
593         Add a convenience method to convert from MIME type -> UTI.
594         * platform/network/mac/UTIUtilities.h:
595         * platform/network/mac/UTIUtilities.mm:
596         (WebCore::UTIFromMIMEType):
597
598         Add new files to project.
599         * WebCore.xcodeproj/project.pbxproj:
600
601 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
602
603         Remove initiallyFitToViewport attribute
604         https://bugs.webkit.org/show_bug.cgi?id=102392
605
606         Reviewed by Noam Rosenthal.
607
608         Remove the initiallyFitToViewport which shouldn't have been
609         added in the first place. We now reset userScalable to auto (-1)
610         in case it was not explicitly set by the web author.
611
612         Same behavior, covered by existing tests.
613
614         * dom/ViewportArguments.cpp:
615         (WebCore::ViewportArguments::resolve):
616         * dom/ViewportArguments.h:
617         (ViewportAttributes):
618
619 2012-11-15  Tommy Widenflycht  <tommyw@google.com>
620
621         MediaStream API: Update RTCPeerConnection states to match the latest editors draft
622         https://bugs.webkit.org/show_bug.cgi?id=102382
623
624         Reviewed by Adam Barth.
625
626         Updating readyState & iceState, and adding iceGatheringState.
627         Also safeguarding the event timer callback.
628
629         Patch covered by existing tests.
630
631         * Modules/mediastream/RTCPeerConnection.cpp:
632         (WebCore::RTCPeerConnection::RTCPeerConnection):
633         (WebCore::RTCPeerConnection::createOffer):
634         (WebCore::RTCPeerConnection::createAnswer):
635         (WebCore::RTCPeerConnection::setLocalDescription):
636         (WebCore::RTCPeerConnection::localDescription):
637         (WebCore::RTCPeerConnection::setRemoteDescription):
638         (WebCore::RTCPeerConnection::remoteDescription):
639         (WebCore::RTCPeerConnection::updateIce):
640         (WebCore::RTCPeerConnection::addIceCandidate):
641         (WebCore::RTCPeerConnection::readyState):
642         (WebCore::RTCPeerConnection::iceGatheringState):
643         (WebCore):
644         (WebCore::RTCPeerConnection::iceState):
645         (WebCore::RTCPeerConnection::addStream):
646         (WebCore::RTCPeerConnection::close):
647         (WebCore::RTCPeerConnection::didChangeIceGatheringState):
648         (WebCore::RTCPeerConnection::stop):
649         (WebCore::RTCPeerConnection::changeReadyState):
650         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
651         * Modules/mediastream/RTCPeerConnection.h:
652         (RTCPeerConnection):
653         * Modules/mediastream/RTCPeerConnection.idl:
654         * dom/EventNames.h:
655         (WebCore):
656         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
657         (RTCPeerConnectionHandlerClient):
658         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
659         (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
660         (WebCore):
661         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
662         (RTCPeerConnectionHandlerChromium):
663
664 2012-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
665
666         Unreviewed, rolling out r134649 and r134665.
667         http://trac.webkit.org/changeset/134649
668         http://trac.webkit.org/changeset/134665
669         https://bugs.webkit.org/show_bug.cgi?id=102413
670
671         Broke a ton of downstream chromium tests (Requested by japhet
672         on #webkit).
673
674         * loader/DocumentLoader.cpp:
675         (WebCore::DocumentLoader::DocumentLoader):
676         (WebCore::DocumentLoader::~DocumentLoader):
677         (WebCore::DocumentLoader::finishedLoading):
678         (WebCore::DocumentLoader::clearMainResourceLoader):
679         (WebCore::DocumentLoader::isLoadingInAPISense):
680         (WebCore::DocumentLoader::documentURL):
681         (WebCore::DocumentLoader::isLoadingMainResource):
682         (WebCore::DocumentLoader::startLoadingMainResource):
683         * loader/DocumentLoader.h:
684         (DocumentLoader):
685         * loader/FrameLoader.cpp:
686         (WebCore::FrameLoader::FrameLoader):
687         (WebCore::FrameLoader::init):
688         * loader/FrameLoaderStateMachine.cpp:
689         (WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):
690         * loader/FrameLoaderStateMachine.h:
691         * loader/MainResourceLoader.cpp:
692         (WebCore::shouldLoadAsEmptyDocument):
693         (WebCore):
694         (WebCore::MainResourceLoader::continueAfterContentPolicy):
695         (WebCore::MainResourceLoader::didReceiveResponse):
696         (WebCore::MainResourceLoader::didFinishLoading):
697         (WebCore::MainResourceLoader::handleEmptyLoad):
698         (WebCore::MainResourceLoader::loadNow):
699         (WebCore::MainResourceLoader::load):
700         * loader/MainResourceLoader.h:
701         (MainResourceLoader):
702
703 2012-11-15  Kentaro Hara  <haraken@chromium.org>
704
705         Correct syntax of old-style IDL files
706         https://bugs.webkit.org/show_bug.cgi?id=102335
707
708         Reviewed by Adam Barth.
709
710         Recently tasak@ corrected an IDL syntax of almost all IDL files.
711         We should correct the rest of them.
712
713         No tests. No change in behavior.
714
715         * html/canvas/OESElementIndexUint.idl:
716         * page/PerformanceMark.idl:
717         * page/PerformanceMeasure.idl:
718
719 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
720
721         Remove isHTMLInputElement since it's unused and toInputElement exists 
722         https://bugs.webkit.org/show_bug.cgi?id=102358
723
724         Reviewed by Ojan Vafai.
725
726         Remove isHTMLInputElement as no one uses it. Everyone just uses
727         Node::toInputElement and checks for a 0 return value instead.
728
729         toInputElement is also more reliable as there's no requirement that
730         subclasses of HTMLInputElement have the tag name of inputTag so using
731         this method in a check could potentially miss future subclasses with
732         different tag names, though none exist right now.
733
734         No new tests, this just deletes dead code.
735
736         * html/HTMLInputElement.h:
737
738 2012-11-15  Erik Arvidsson  <arv@chromium.org>
739
740         Update DOMException name: NotSupportedError
741         https://bugs.webkit.org/show_bug.cgi?id=102139
742
743         Reviewed by Ojan Vafai.
744
745         Patch 9 of 25 to update DOMException name to match the spec and Firefox.
746
747         Updated existing tests.
748
749         * dom/DOMCoreException.cpp:
750
751 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
752
753         Remove isHTMLInputElement since it's unused and toInputElement exists 
754         https://bugs.webkit.org/show_bug.cgi?id=102358
755
756         Reviewed by Ojan Vafai.
757
758         Remove isHTMLInputElement as no one uses it. Everyone just uses
759         Node::toInputElement and checks for a 0 return value instead.
760
761         toInputElement is also more reliable as there's no requirement that
762         subclasses of HTMLInputElement have the tag name of inputTag so using
763         this method in a check could potentially miss future subclasses with
764         different tag names, though none exist right now.
765
766         No new tests, this just deletes dead code.
767
768         * html/HTMLInputElement.h:
769
770 2012-11-15  Erik Arvidsson  <arv@chromium.org>
771
772         Update DOMException name: NoModificationAllowedError
773         https://bugs.webkit.org/show_bug.cgi?id=102134
774
775         Reviewed by Ojan Vafai.
776
777         Patch 7 of 25 to update DOMException name to match the spec and Firefox.
778
779         Updated existing tests.
780
781         * dom/DOMCoreException.cpp:
782
783 2012-11-15  Miguel Garcia  <miguelg@chromium.org>
784
785         Remove unnecesary dependencies INPUT_TYPE_COLOR
786         https://bugs.webkit.org/show_bug.cgi?id=102379
787
788         Reviewed by Darin Adler.
789
790         Platforms should be able to enable INPUT_TYPE_COLOR without enabling
791         CALENDAR_PICKER and DATALIST_ELEMENT. Before this patch however there would be
792         compile errors in such configuration.
793
794         No new tests since this is not adding any extra functionality.
795
796         * WebCore.gyp/WebCore.gyp:
797         * html/ColorInputType.cpp:
798         (WebCore::ColorInputType::shouldShowSuggestions):
799         * make-file-arrays.py:
800         (main):
801
802 2012-11-15  Eric Carlson  <eric.carlson@apple.com>
803
804         Update computed line position algorithm
805         https://bugs.webkit.org/show_bug.cgi?id=93779
806
807         Reviewed by Philippe Normand.
808
809         Compute the position of a text track relative to rendered tracks. This is needed to position
810         cues correctly when there is more than one text track.
811
812         Test: media/track/track-cue-container-rendering-position.html
813
814         * html/track/TextTrack.cpp:
815         (WebCore::TextTrack::invalidateTrackIndex): Invalidate both cached track indices.
816         (WebCore::TextTrack::trackIndexRelativeToRenderedTracks): Return the index of the track relative
817             to other rendered tracks.
818         * html/track/TextTrack.h:
819
820         * html/track/TextTrackCue.cpp:
821         (WebCore::TextTrackCue::calculateComputedLinePosition): Use trackIndexRelativeToRenderedTracks()
822             instead of trackIndex() so cues are positioned correctly.
823
824         * html/track/TextTrackList.cpp:
825         (TextTrackList::getTrackIndex): Change return type from unsigned to int.
826         (TextTrackList::getTrackIndexRelativeToRenderedTracks): New.
827         * html/track/TextTrackList.h:
828
829 2012-11-15  Dominik R√∂ttsches  <dominik.rottsches@intel.com>
830
831         [EFL] Bump Harfbuzz to allow fixing bug 101009 on EFL
832         https://bugs.webkit.org/show_bug.cgi?id=101323
833
834         Reviewed by Martin Robinson.
835
836         Removing ifdef since we bumped Harfbuzz dependency. This is the
837         real fix replacing the previous workaround of having a Chromium
838         specific ifdef here, since Chromium uses a newer HarfBuzz version
839         already.
840
841         No new tests, covered by css3/flexbox/inline-flex-crash.html
842         which will not crash anymore even with the ifdef removed.
843
844         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
845         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
846
847 2012-11-15  Andreas Kling  <kling@webkit.org>
848
849         REGRESSION(r134408): Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement().
850         <http://webkit.org/b/102304>
851
852         Reviewed by Anders Carlsson.
853
854         Test: fast/dom/cloneNode-below-body-attribute-merging.html
855
856         * html/parser/HTMLConstructionSite.cpp:
857         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
858
859             Use Element::fastHasAttribute() to determine if a given attribute is already present on the element
860             we're merging attributes into.
861
862         * dom/ElementAttributeData.h:
863         (ElementAttributeData):
864
865             Remove a now-unnecessary friend declaration.
866
867 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
868
869         Prevent creation of detached frames in ShadowRoot
870         https://bugs.webkit.org/show_bug.cgi?id=102333
871
872         Reviewed by Dimitri Glazkov.
873
874         Similar to Bug 94717 you can create a loaded iframe in a detached
875         subtree using ShadowRoot. To fix this we just need to make
876         SubframeLoadingDisabler traverse through shadow boundaries.
877
878         Test: fast/frames/detached-shadow-frame.html
879
880         * html/HTMLFrameOwnerElement.h:
881         (WebCore::SubframeLoadingDisabler::canLoadFrame):
882
883 2012-11-15  Shinya Kawanaka  <shinyak@chromium.org>
884
885         Changing pseudoClass (:visited) should cause distribution.
886         https://bugs.webkit.org/show_bug.cgi?id=101700
887
888         Reviewed by Dimitri Glazkov.
889
890         When href attribute of an anchor or area element is changed, we have to invalidate distribution.
891
892         Since we would like to check a few pseudoClasses at once, we make the argument of
893         SelectRuleFeatureSet::hasSelectorFor int.
894
895         Tests: fast/dom/shadow/pseudoclass-update-visited-anchor.html
896                fast/dom/shadow/pseudoclass-update-visited-area.html
897
898         * dom/ElementShadow.cpp:
899         (WebCore::invalidateParentDistributionIfNecessary):
900         * dom/ElementShadow.h:
901         (WebCore):
902         * html/HTMLAnchorElement.cpp:
903         (WebCore::HTMLAnchorElement::parseAttribute):
904         * html/shadow/SelectRuleFeatureSet.h:
905         (WebCore::SelectRuleFeatureSet::hasSelectorFor):
906
907 2012-11-15  Balazs Kelemen  <kbalazs@webkit.org>
908
909         Coordinated Graphics: support the "freeze animations" API
910         https://bugs.webkit.org/show_bug.cgi?id=100703
911
912         Reviewed by Noam Rosenthal.
913
914         Make animations resumable in Coordinated Graphics.
915         Pausing was already implemented.
916
917         Tested with animations and transitions tests. No tests to be
918         unskipped because these tests has been working without this API
919         as well (although this is the preferred way).
920
921         * platform/graphics/GraphicsLayerAnimation.cpp:
922         (WebCore::GraphicsLayerAnimation::apply):
923         (WebCore::GraphicsLayerAnimation::computeTotalRunningTime):
924         Do not consider the time while we was suspended as part of
925         the total running time.
926         (WebCore):
927         (WebCore::GraphicsLayerAnimation::resume):
928         (WebCore::GraphicsLayerAnimations::suspend):
929         (WebCore::GraphicsLayerAnimations::resume):
930         * platform/graphics/GraphicsLayerAnimation.h:
931         (GraphicsLayerAnimation):
932         (GraphicsLayerAnimations):
933
934 2012-11-15  Gabor Rapcsanyi  <rgabor@webkit.org>
935
936         Relocate the ARM NEON SVG filter optimizations
937         https://bugs.webkit.org/show_bug.cgi?id=102214
938
939         Reviewed by Zoltan Herczeg.
940
941         Relocate the ARM filter optimizations into platform/graphics/cpu/arm
942         to keep them together with the others.
943         From now all graphics optimization for ARM NEON should go here.
944
945         * CMakeLists.txt:
946         * GNUmakefile.am:
947         * GNUmakefile.list.am:
948         * Target.pri:
949         * WebCore.gyp/WebCore.gyp:
950         * WebCore.gypi:
951         * WebCore.pri:
952         * WebCore.xcodeproj/project.pbxproj:
953         * platform/graphics/cpu/arm/filters/FEBlendNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEBlendNEON.h.
954         (WebCore):
955         (FEBlendUtilitiesNEON):
956         (WebCore::FEBlendUtilitiesNEON::div255):
957         (WebCore::FEBlendUtilitiesNEON::normal):
958         (WebCore::FEBlendUtilitiesNEON::multiply):
959         (WebCore::FEBlendUtilitiesNEON::screen):
960         (WebCore::FEBlendUtilitiesNEON::darken):
961         (WebCore::FEBlendUtilitiesNEON::lighten):
962         (WebCore::FEBlend::platformApplyNEON):
963         * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FECompositeArithmeticNEON.h.
964         (WebCore):
965         (WebCore::FEComposite::computeArithmeticPixelsNeon):
966         (WebCore::FEComposite::platformArithmeticNeon):
967         * platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.h.
968         (WebCore):
969         (WebCore::boxBlurNEON):
970         * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp.
971         (WebCore):
972         (WebCore::feLightingConstantsForNeon):
973         (WebCore::FELighting::platformApplyNeonWorker):
974         (WebCore::FELighting::getPowerCoefficients):
975         * platform/graphics/cpu/arm/filters/FELightingNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.h.
976         (WebCore):
977         (FELightingFloatArgumentsForNeon):
978         (FELightingPaintingDataForNeon):
979         (WebCore::FELighting::platformApplyNeon):
980         * platform/graphics/cpu/arm/filters/NEONHelpers.h: Renamed from Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h.
981         (WebCore):
982         (WebCore::loadRGBA8AsFloat):
983         (WebCore::storeFloatAsRGBA8):
984
985 2012-11-15  Mike West  <mkwst@chromium.org>
986
987         We should trigger a console warning when we encounter invalid sandbox flags.
988         https://bugs.webkit.org/show_bug.cgi?id=101956
989
990         Reviewed by Adam Barth.
991
992         A developer who writes '<iframe sandbox="allowScripts">' probably has
993         something in mind other than what the browser interprets. In these
994         situations, we should log a console warning that notes 'allowScripts'
995         is an invalid sandbox flag ('allow-scripts' is probably what she
996         meant).
997
998         This patch does the simplest thing possible: it throws a warning that
999         lists the invalid flags encountered for sandbox attributes on iframes,
1000         and for sandbox Content Security Policy directives.
1001
1002         Tests: http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html
1003                http/tests/security/sandboxed-iframe-invalid.html
1004
1005         * dom/SecurityContext.cpp:
1006         (WebCore::SecurityContext::parseSandboxPolicy):
1007         * dom/SecurityContext.h:
1008         (SecurityContext):
1009             Accept a new out parameter, invalidTokensErrorMessage. If invalid
1010             tokens are encountered, build an error message string, and pass it
1011             back to the caller through this parameter.
1012         * html/HTMLIFrameElement.cpp:
1013         (WebCore::HTMLIFrameElement::parseAttribute):
1014         * page/ContentSecurityPolicy.cpp:
1015         (WebCore::CSPDirectiveList::applySandboxPolicy):
1016             When applying a sandbox policy, pass a string into
1017             SecurityContext::parseSandboxPolicy to grab any errors that might
1018             be encountered, and log a warning in that event.
1019         (WebCore::ContentSecurityPolicy::reportInvalidSandboxFlags):
1020         (WebCore):
1021         * page/ContentSecurityPolicy.h:
1022             Adding a new method to report invalid sandbox flags.
1023
1024 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1025
1026         Rename member vars in ViewportArgument to match css-device-adapt
1027         https://bugs.webkit.org/show_bug.cgi?id=102355
1028
1029         Reviewed by Gyuyoung Kim.
1030
1031         No behavior change, thus no new tests.
1032
1033         * dom/ViewportArguments.cpp:
1034         (WebCore::ViewportArguments::resolve):
1035         (WebCore::setViewportFeature):
1036         * dom/ViewportArguments.h:
1037         (WebCore::ViewportArguments::ViewportArguments):
1038         (ViewportArguments):
1039         (WebCore::ViewportArguments::operator==):
1040
1041 2012-11-15  Andrey Adaikin  <aandrey@chromium.org>
1042
1043         Web Inspector: [WebGL] cloneNode for images with revoked Blob URIs fails
1044         https://bugs.webkit.org/show_bug.cgi?id=102366
1045
1046         Reviewed by Vsevolod Vlasov.
1047
1048         * inspector/InjectedScriptCanvasModuleSource.js:
1049         (.):
1050
1051 2012-11-15  Mark Rowe  <mrowe@apple.com>
1052
1053         Build fix.
1054
1055         Disable deprecation warnings in a few places that need it.
1056
1057         * platform/graphics/ca/mac/TileCache.mm:
1058         (WebCore::TileCache::drawRepaintCounter):
1059         * platform/graphics/mac/FontMac.mm:
1060         (WebCore::showGlyphsWithAdvances):
1061         * platform/graphics/mac/WebLayer.mm:
1062         (drawLayerContents):
1063
1064 2012-11-15  Kent Tamura  <tkent@chromium.org>
1065
1066         Support stand-alone month names in calendar picker
1067         https://bugs.webkit.org/show_bug.cgi?id=102196
1068
1069         Reviewed by Kentaro Hara.
1070
1071         We have showed non stand-alone month names in any locales. However
1072         we should show stand-alone month names in some locales such as
1073         Russian.
1074
1075         This patch introduce PagePopupController::formatMonth. It is
1076         exposed to page-popups, and format year-month pairs in the same
1077         way as input[type=month].
1078
1079         No new tests. Affects platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html.
1080
1081         * Resources/pagepopups/calendarPicker.js:
1082         (Month.prototype.toLocaleString):
1083         Calls pagePopupController.formatMonth except Japanese locale.
1084         (handleArgumentsTimeout):
1085         Remove unnecessary default monthLabels.
1086         * page/PagePopupController.cpp:
1087         (WebCore::PagePopupController::formatMonth): Added.
1088         * page/PagePopupController.h:
1089         (PagePopupController): Declare formatMonth.
1090         * page/PagePopupController.idl: Add formatMonth.
1091
1092 2012-11-15  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1093
1094         Web Inspector: Fix new JS compiler warnings.
1095         https://bugs.webkit.org/show_bug.cgi?id=102341
1096
1097         Reviewed by Yury Semikhatsky.
1098
1099         New version of compiler finds new inconsistencies.
1100
1101         * inspector/front-end/DOMAgent.js: Replaced 2 simiar cases with loop.
1102         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1103         Declared instance property on WebInspector.
1104         * inspector/front-end/Script.js: Normalized parameter notation.
1105
1106 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1107
1108         Unreviewed build fix.
1109
1110         * dom/ViewportArguments.cpp:
1111         (WebCore::convertToUserSpace): Add static
1112
1113 2012-11-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1114
1115         Refactor ViewportArguments to only use CSS units
1116         https://bugs.webkit.org/show_bug.cgi?id=102287
1117
1118         Reviewed by Noam Rosenthal.
1119
1120         Refactor the ViewportArgument code to use a member method for
1121         resolving the viewport. This new method only uses arguments in
1122         CSS units.
1123
1124         This is preparation for adding the CSS Device Adaptation support.
1125
1126         Tested by existing tests fast/viewport.
1127
1128         * dom/ViewportArguments.cpp:
1129         (WebCore::clampLengthValue):
1130         (WebCore::clampScaleValue): New utility functions.
1131         (WebCore::ViewportArguments::resolve):
1132         (WebCore::convertToUserSpace): Added until everyone provides arguments
1133         only in CSS units and not device ones.
1134         (WebCore::computeViewportAttributes):
1135         (WebCore::computeMinimumScaleFactorForContentContained):
1136         (WebCore):
1137         (WebCore::restrictMinimumScaleFactorToViewportSize):
1138         * dom/ViewportArguments.h:
1139         (ViewportArguments):
1140
1141 2012-11-14  Shinya Kawanaka  <shinyak@chromium.org> 
1142
1143         Changing pseudoClass (:disabled) should cause distribution.
1144         https://bugs.webkit.org/show_bug.cgi?id=101901
1145
1146         Reviewed by Hajime Morita.
1147
1148         We have to invalidate distribution when pseudo-class (:disabled) is changed.
1149
1150         According to the HTML5 spec, :disabled will match button, input, select, textarea, optgroup,
1151         option, command, li, and fieldset. However, command is not implemented yet, we skip li and command. li might
1152         have 'disabled' state, but we need a command element to make it 'disabled' state.
1153
1154         Tests: fast/dom/shadow/pseudoclass-update-disabled-button.html
1155                fast/dom/shadow/pseudoclass-update-disabled-fieldset.html
1156                fast/dom/shadow/pseudoclass-update-disabled-input.html
1157                fast/dom/shadow/pseudoclass-update-disabled-optgroup.html
1158                fast/dom/shadow/pseudoclass-update-disabled-option.html
1159                fast/dom/shadow/pseudoclass-update-disabled-select.html
1160                fast/dom/shadow/pseudoclass-update-disabled-textarea.html
1161
1162         * html/HTMLFormControlElement.cpp:
1163         (WebCore::HTMLFormControlElement::disabledAttributeChanged):
1164         * html/HTMLOptGroupElement.cpp:
1165         (WebCore::HTMLOptGroupElement::parseAttribute):
1166         * html/HTMLOptionElement.cpp:
1167         (WebCore::HTMLOptionElement::parseAttribute):
1168
1169 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1170
1171         Unreviewed, rolling out r134691, r134703, r134715, r134716,
1172         and r134733.
1173         http://trac.webkit.org/changeset/134691
1174         http://trac.webkit.org/changeset/134703
1175         http://trac.webkit.org/changeset/134715
1176         http://trac.webkit.org/changeset/134716
1177         http://trac.webkit.org/changeset/134733
1178         https://bugs.webkit.org/show_bug.cgi?id=102342
1179
1180         "Broke the Apple Windows Debug and GTK builds." (Requested by
1181         dydx on #webkit).
1182
1183         * WebCore.exp.in:
1184         * bindings/js/SerializedScriptValue.h:
1185         * testing/Internals.cpp:
1186         * testing/Internals.h:
1187         (WebCore):
1188         * testing/Internals.idl:
1189
1190 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
1191
1192         Not reviewed: fixing inspector tests under Qt.
1193
1194         * inspector/front-end/TestController.js:
1195         * inspector/front-end/utilities.js:
1196         (.):
1197
1198 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1199
1200         Unreviewed. Rebaselined run-bindings-tests.
1201
1202         * bindings/scripts/test/V8/V8TestNode.h:
1203         (WebCore::toV8Fast):
1204
1205 2012-11-14  Simon Fraser  <simon.fraser@apple.com>
1206
1207         Don't use temporary clip rects when hit testing
1208         https://bugs.webkit.org/show_bug.cgi?id=102329
1209
1210         Reviewed by Beth Dakin.
1211
1212         We now cache clip rects separately for painting, hit testing etc. Hit testing
1213         clip rects are always shrunk to exclude scrollbars (so that hit testing on
1214         the scrollbars works), so we no longer every need to use temporary clip rects
1215         during hit testing.
1216
1217         Added an assertion that the scrollbar relevancy when we computed the clip rects
1218         is the same as that when using them.
1219         
1220         * rendering/RenderLayer.cpp:
1221         (WebCore::RenderLayer::hitTestLayer):
1222         (WebCore::RenderLayer::updateClipRects):
1223         * rendering/RenderLayer.h:
1224         (WebCore::ClipRectsCache::ClipRectsCache):
1225         (ClipRectsCache):
1226
1227 2012-11-14  Dirk Schulze  <krit@webkit.org>
1228
1229         Support animation of basic shape 'polygon'
1230         https://bugs.webkit.org/show_bug.cgi?id=102080
1231
1232         Reviewed by Daniel Bates.
1233
1234         The basic shapes 'circle', 'rectangle' and 'ellipse' are animatable with the committed
1235         patch http://trac.webkit.org/changeset/134352.
1236         This is a follow-up patch to make 'polygon' animatable as well, as long as the number
1237         of vertices between start and end polygon is the same.
1238
1239         Added polygon animation test to existing test:
1240             fast/exclusions/shape-inside/shape-inside-animation.html
1241             css3/masking/clip-path-animation.html
1242
1243         * page/animation/CSSPropertyAnimation.cpp: Forgot to add copyright with last commits.
1244         * rendering/style/BasicShapes.cpp:
1245         (WebCore::BasicShape::canBlend): Polygons are allowed now.
1246         (WebCore::BasicShapePolygon::blend): Interpolate polygon shapes.
1247
1248 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1249
1250         Unreviewed. Fix code generator warnings.
1251
1252         * bindings/scripts/CodeGeneratorV8.pm:
1253         (GenerateFunctionCallback):
1254         (GenerateImplementation):
1255
1256 2012-11-14  Shinya Kawanaka  <shinyak@chromium.org>
1257
1258         Changing pseudoClass (:checked) should cause distribution.
1259         https://bugs.webkit.org/show_bug.cgi?id=101902
1260
1261         Reviewed by Dimitri Glazkov.
1262
1263         When the 'checked' state is changed, we have to invalidate distribution.
1264
1265         According to the HTML5 spec, :checked should match a checked input[type="checkbox"],
1266         a checked input[type="radio"], a selected option, and commands. However, we don't have a command element yet.
1267
1268         Tests: fast/dom/shadow/pseudoclass-update-checked-input.html
1269                fast/dom/shadow/pseudoclass-update-checked-option.html
1270
1271         * html/HTMLInputElement.cpp:
1272         (WebCore::HTMLInputElement::setChecked):
1273         * html/HTMLOptionElement.cpp:
1274         (WebCore::HTMLOptionElement::setSelectedState):
1275
1276 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1277
1278         [V8] Kill $implClassName from CodeGeneratorV8.pm
1279         https://bugs.webkit.org/show_bug.cgi?id=102312
1280
1281         Reviewed by Adam Barth.
1282
1283         $implClassName and $interfaceName are the same.
1284         Sometimes we are passing both $implClassName and $interfaceName to
1285         subroutines. We can kill $implClassName.
1286
1287         No tests. No change in behavior.
1288
1289         * bindings/scripts/CodeGeneratorV8.pm:
1290         (GenerateOpaqueRootForGC):
1291         (GenerateHeader):
1292         (GenerateDomainSafeFunctionGetter):
1293         (GenerateDomainSafeFunctionSetter):
1294         (GenerateConstructorGetter):
1295         (GenerateNormalAttrGetter):
1296         (GenerateReplaceableAttrSetter):
1297         (GenerateNormalAttrSetter):
1298         (GenerateEventListenerCallback):
1299         (GenerateOverloadedFunctionCallback):
1300         (GenerateFunctionCallback):
1301         (GenerateParametersCheck):
1302         (GenerateOverloadedConstructorCallback):
1303         (GenerateSingleConstructorCallback):
1304         (GenerateConstructorCallback):
1305         (GenerateEventConstructorCallback):
1306         (GenerateTypedArrayConstructorCallback):
1307         (GenerateNamedConstructorCallback):
1308         (GenerateImplementation):
1309         (GenerateFunctionCallString):
1310
1311 2012-11-14  Adam Barth  <abarth@webkit.org>
1312
1313         [V8] We can shave one instruction off toV8Fast
1314         https://bugs.webkit.org/show_bug.cgi?id=102297
1315
1316         Reviewed by Kentaro Hara.
1317
1318         There's no reason to store info.Holder in a local variable. Calling
1319         Holder() is essentially free because it's inlined to an offset read.
1320
1321         I doubt this patch moves the performance needle in any measurable way,
1322         but it makes the code slightly prettier.
1323
1324         * bindings/scripts/CodeGeneratorV8.pm:
1325         (GenerateHeader):
1326         * bindings/scripts/test/V8/V8TestNode.h:
1327         (WebCore::toV8Fast):
1328
1329 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1330
1331         [V8] Get rid of a redundant branch in JSValueToNative()
1332         https://bugs.webkit.org/show_bug.cgi?id=102311
1333
1334         Reviewed by Adam Barth.
1335
1336         No tests. No change in behavior.
1337
1338         * bindings/scripts/CodeGeneratorV8.pm:
1339         (JSValueToNative):
1340         (NativeToJSValue):
1341
1342 2012-11-14  Shinya Kawanaka  <shinyak@chromium.org>
1343
1344         Changing pseudoClass (:link) should cause distribution
1345         https://bugs.webkit.org/show_bug.cgi?id=101698
1346
1347         Reviewed by Hajime Morita.
1348
1349         CSSSelector :link matches anchor element with href attribute. When href attribute of an anchor element is changed,
1350         we have to invalidate distribution.
1351
1352         According to the HTML spec, :link matches a link element having href attribute, currently we have not implemented it yet.
1353
1354         Tests: fast/dom/shadow/pseudoclass-update-link-anchor.html
1355                fast/dom/shadow/pseudoclass-update-link-area.html
1356
1357         * html/HTMLAnchorElement.cpp:
1358         (WebCore::HTMLAnchorElement::parseAttribute):
1359
1360 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1361
1362         Remove unused functions from CodeGenerator.pm
1363         https://bugs.webkit.org/show_bug.cgi?id=102316
1364
1365         Reviewed by Adam Barth.
1366
1367         No tests. No change in behavior.
1368
1369         * bindings/scripts/CodeGenerator.pm:
1370         (GenerateCompileTimeCheckForEnumsIfNeeded):
1371
1372 2012-11-14  Tiancheng Jiang  <tijiang@rim.com>
1373
1374         [BlackBerry] Update BB10 form theme.
1375         https://bugs.webkit.org/show_bug.cgi?id=100760
1376
1377         Reviewed by Rob Buis.
1378
1379         RIM PR 225755
1380         Internally Reviewed by Eli Fidler.
1381         Update checkbox, radio and menulist button style. Adjust border width
1382         and line height.
1383
1384         * platform/blackberry/RenderThemeBlackBerry.cpp:
1385         (WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):
1386         * platform/blackberry/RenderThemeBlackBerry.h:
1387         (RenderThemeBlackBerry):
1388
1389 2012-11-14  Erik Arvidsson  <arv@chromium.org>
1390
1391         Update DOMException name: InvalidModificationError
1392         https://bugs.webkit.org/show_bug.cgi?id=102281
1393
1394         Reviewed by Kentaro Hara.
1395
1396         Patch 13 of 25 to update DOMException name to match the spec and Firefox.
1397
1398         DOMExcecption INVALID_MODIFICATION_ERR is not used in our code.
1399
1400         * dom/DOMCoreException.cpp:
1401
1402 2012-11-14  Adam Barth  <abarth@webkit.org>
1403
1404         document variable in Document::axObjectCache is actually the topDocument
1405         https://bugs.webkit.org/show_bug.cgi?id=101966
1406
1407         Reviewed by Chris Fleizach.
1408
1409         Name change requested by Darin Adler.
1410
1411         * dom/Document.cpp:
1412         (WebCore::Document::axObjectCache):
1413
1414 2012-11-14  Joseph Pecoraro  <pecoraro@apple.com>
1415
1416         [CF]: XMLHttpRequest "timeout" events firing as "error" events
1417         https://bugs.webkit.org/show_bug.cgi?id=102271
1418
1419         Reviewed by David Kilzer.
1420
1421         Initialize the tiemout flag if the error results from a timeout
1422         in the USE(CFNETWORK) cases.
1423
1424         No new tests. This is covered by http/tests/xmlhttprequest/timeout
1425         tests on ports that USE(CFNETWORK).
1426
1427         * platform/network/cf/ResourceErrorCF.cpp:
1428         (WebCore::ResourceError::ResourceError):
1429         * platform/network/mac/ResourceErrorMac.mm:
1430         (WebCore::ResourceError::ResourceError):
1431
1432 2012-11-14  Nico Weber  <thakis@chromium.org>
1433
1434         [chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
1435         https://bugs.webkit.org/show_bug.cgi?id=102282
1436
1437         Reviewed by James Robinson.
1438
1439         Chromium uses skia, and skia state is synced with CG context state at
1440         LocalCurrentGraphicsContext construction time. So delay that
1441         construction after context transforms have happened.
1442         (This regressed in http://trac.webkit.org/changeset/125830)
1443
1444         Covered by the new pixel test fast/forms/zoomed-controls.html. I
1445         couldn't find an existing test for this.
1446
1447         * platform/mac/ThemeMac.mm:
1448         (WebCore::paintCheckbox):
1449         (WebCore::paintRadio):
1450         (WebCore::paintButton):
1451
1452 2012-11-14  Mark Lam  <mark.lam@apple.com>
1453
1454         Change JSEventListener::m_jsFunction to be a weak ref.
1455         https://bugs.webkit.org/show_bug.cgi?id=101989.
1456
1457         Reviewed by Geoffrey Garen.
1458
1459         No new tests.
1460
1461         * ForwardingHeaders/heap/SlotVisitor.h: Added.
1462         * bindings/js/JSDOMBinding.h: Added #include <heap/SlotVisitor.h>
1463         * bindings/js/JSEventListener.cpp:
1464         (WebCore::JSEventListener::JSEventListener):
1465         (WebCore::JSEventListener::visitJSFunction):
1466         (WebCore::JSEventListener::operator==):
1467          - Removed the m_wrapper checks in operator==() because they are not
1468            needed. There is no longer any threat of m_jsFunction pointing to
1469            recycled memory. The use of weak refs will ensure that m_jsFunction
1470            is either still holding on to its old memory exclusively, or is 0'ed
1471            out when the GC collects it.
1472         * bindings/js/JSEventListener.h:
1473         (JSEventListener):
1474         (WebCore::JSEventListener::jsFunction):
1475
1476 2012-11-14  Dan Carney  <dcarney@google.com>
1477
1478         [V8] Rename dispatchWrap
1479         https://bugs.webkit.org/show_bug.cgi?id=102240
1480
1481         Reviewed by Adam Barth.
1482
1483         Mostly a rename:
1484         dispatchWrap->wrap
1485         wrapSlow->createWrapper
1486         dispatchWrapCustom->wrap
1487
1488         No new tests. No change in functionality.
1489
1490         * bindings/scripts/CodeGeneratorV8.pm:
1491         (GenerateHeader):
1492         (GenerateNormalAttrGetter):
1493         (GenerateImplementation):
1494         (GenerateToV8Converters):
1495         * bindings/scripts/IDLAttributes.txt:
1496         * bindings/scripts/test/V8/V8Float64Array.cpp:
1497         (WebCore::wrap):
1498         (WebCore::V8Float64Array::createWrapper):
1499         * bindings/scripts/test/V8/V8Float64Array.h:
1500         (V8Float64Array):
1501         (WebCore):
1502         (WebCore::toV8Object):
1503         (WebCore::toV8):
1504         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1505         (WebCore::V8TestActiveDOMObject::createWrapper):
1506         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1507         (V8TestActiveDOMObject):
1508         (WebCore::wrap):
1509         (WebCore::toV8Object):
1510         (WebCore::toV8):
1511         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1512         (WebCore::V8TestCustomNamedGetter::createWrapper):
1513         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1514         (V8TestCustomNamedGetter):
1515         (WebCore::wrap):
1516         (WebCore::toV8Object):
1517         (WebCore::toV8):
1518         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1519         (WebCore::V8TestEventConstructor::createWrapper):
1520         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1521         (V8TestEventConstructor):
1522         (WebCore::wrap):
1523         (WebCore::toV8Object):
1524         (WebCore::toV8):
1525         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1526         (WebCore::V8TestEventTarget::createWrapper):
1527         * bindings/scripts/test/V8/V8TestEventTarget.h:
1528         (V8TestEventTarget):
1529         (WebCore::wrap):
1530         (WebCore::toV8Object):
1531         (WebCore::toV8):
1532         * bindings/scripts/test/V8/V8TestException.cpp:
1533         (WebCore::V8TestException::createWrapper):
1534         * bindings/scripts/test/V8/V8TestException.h:
1535         (V8TestException):
1536         (WebCore::wrap):
1537         (WebCore::toV8Object):
1538         (WebCore::toV8):
1539         * bindings/scripts/test/V8/V8TestInterface.cpp:
1540         (WebCore::V8TestInterface::createWrapper):
1541         * bindings/scripts/test/V8/V8TestInterface.h:
1542         (V8TestInterface):
1543         (WebCore::wrap):
1544         (WebCore::toV8Object):
1545         (WebCore::toV8):
1546         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1547         (WebCore::V8TestMediaQueryListListener::createWrapper):
1548         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1549         (V8TestMediaQueryListListener):
1550         (WebCore::wrap):
1551         (WebCore::toV8Object):
1552         (WebCore::toV8):
1553         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1554         (WebCore::V8TestNamedConstructor::createWrapper):
1555         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1556         (V8TestNamedConstructor):
1557         (WebCore::wrap):
1558         (WebCore::toV8Object):
1559         (WebCore::toV8):
1560         * bindings/scripts/test/V8/V8TestNode.cpp:
1561         (WebCore::V8TestNode::createWrapper):
1562         * bindings/scripts/test/V8/V8TestNode.h:
1563         (V8TestNode):
1564         (WebCore::wrap):
1565         (WebCore::toV8Object):
1566         (WebCore::toV8):
1567         (WebCore::toV8Fast):
1568         * bindings/scripts/test/V8/V8TestObj.cpp:
1569         (WebCore::V8TestObj::createWrapper):
1570         * bindings/scripts/test/V8/V8TestObj.h:
1571         (V8TestObj):
1572         (WebCore::wrap):
1573         (WebCore::toV8Object):
1574         (WebCore::toV8):
1575         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1576         (WebCore::V8TestOverloadedConstructors::createWrapper):
1577         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1578         (V8TestOverloadedConstructors):
1579         (WebCore::wrap):
1580         (WebCore::toV8Object):
1581         (WebCore::toV8):
1582         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1583         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
1584         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1585         (V8TestSerializedScriptValueInterface):
1586         (WebCore::wrap):
1587         (WebCore::toV8Object):
1588         (WebCore::toV8):
1589         * bindings/v8/custom/V8BlobCustom.cpp:
1590         (WebCore::wrap):
1591         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1592         (WebCore::wrap):
1593         * bindings/v8/custom/V8CSSValueCustom.cpp:
1594         (WebCore::wrap):
1595         * bindings/v8/custom/V8CanvasRenderingContextCustom.cpp:
1596         (WebCore::wrap):
1597         * bindings/v8/custom/V8DataViewCustom.cpp:
1598         (WebCore::wrap):
1599         * bindings/v8/custom/V8DocumentCustom.cpp:
1600         (WebCore::wrap):
1601         * bindings/v8/custom/V8ElementCustom.cpp:
1602         (WebCore):
1603         (WebCore::wrap):
1604         * bindings/v8/custom/V8EntryCustom.cpp:
1605         (WebCore::wrap):
1606         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1607         (WebCore::wrap):
1608         * bindings/v8/custom/V8EventCustom.cpp:
1609         (WebCore):
1610         (WebCore::wrap):
1611         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1612         (WebCore::wrap):
1613         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1614         (WebCore::wrap):
1615         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1616         (WebCore::wrap):
1617         * bindings/v8/custom/V8ImageDataCustom.cpp:
1618         (WebCore::wrap):
1619         * bindings/v8/custom/V8NodeCustom.cpp:
1620         (WebCore::wrap):
1621         * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
1622         (WebCore::wrap):
1623         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1624         (WebCore::wrap):
1625         * bindings/v8/custom/V8SVGElementCustom.cpp:
1626         (WebCore::wrap):
1627         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1628         (WebCore::wrap):
1629         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1630         (WebCore::wrap):
1631         * dom/make_names.pl:
1632         (printWrapperFunctions):
1633         (printWrapperFactoryCppFile):
1634
1635 2012-11-14  Ryuan Choi  <ryuan.choi@gmail.com>
1636
1637         [EFL] Refactor theme to choose whether to support foreground color of selection
1638         https://bugs.webkit.org/show_bug.cgi?id=102037
1639
1640         Reviewed by Gyuyoung Kim.
1641
1642         RenderThemeEfl can change foreground color of selection using theme file.
1643         But it can not disable supports of foreground color to keep the text color
1644         which is selected.
1645
1646         This patch refactors color classes of theme file from active/inactive classes
1647         to foreground/background classes so that RenderThemeEfl checks whether
1648         theme file supports foreground color class.
1649
1650         * platform/efl/RenderThemeEfl.cpp:
1651         (WebCore::fillColorsFromEdjeClass):
1652         (WebCore::RenderThemeEfl::setColorFromThemeClass):
1653         (WebCore::RenderThemeEfl::loadTheme):
1654         (WebCore::RenderThemeEfl::RenderThemeEfl):
1655         (WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
1656         (WebCore):
1657         * platform/efl/RenderThemeEfl.h:
1658         (RenderThemeEfl):
1659
1660 2012-11-14  Tony Chang  <tony@chromium.org>
1661
1662         Convert m_selectorVector back to a stack allocated m_reusableSelectorVector
1663         https://bugs.webkit.org/show_bug.cgi?id=102295
1664
1665         Reviewed by Andreas Kling.
1666
1667         Revert r125252 because we're not going to go forward with implementing CSS hierarchies at this time.
1668
1669         No new tests because there should be no change in behavior.
1670
1671         * css/CSSGrammar.y.in:
1672         * css/CSSParser.cpp:
1673         (WebCore::CSSParser::CSSParser):
1674         (WebCore::CSSParser::parseValue):
1675         (WebCore::CSSParser::parseColor):
1676         (WebCore::CSSParser::parseDeclaration):
1677         (WebCore):
1678         (WebCore::filterProperties):
1679         (WebCore::CSSParser::createStylePropertySet):
1680         (WebCore::CSSParser::addProperty):
1681         (WebCore::CSSParser::rollbackLastProperties):
1682         (WebCore::CSSParser::clearProperties):
1683         (WebCore::CSSParser::parse4Values):
1684         (WebCore::CSSParser::parseFlowThread):
1685         (WebCore::CSSParser::addTextDecorationProperty):
1686         (WebCore::CSSParser::createFloatingSelectorVector):
1687         (WebCore::CSSParser::sinkFloatingSelectorVector):
1688         (WebCore::CSSParser::createStyleRule):
1689         (WebCore::CSSParser::createFontFaceRule):
1690         (WebCore::CSSParser::createPageRule):
1691         (WebCore::CSSParser::setReusableRegionSelectorVector):
1692         (WebCore::CSSParser::startDeclarationsForMarginBox):
1693         (WebCore::CSSParser::endDeclarationsForMarginBox):
1694         (WebCore::CSSParser::deleteFontFaceOnlyValues):
1695         * css/CSSParser.h:
1696         (WebCore::CSSParser::hasProperties):
1697         (WebCore::CSSParser::reusableSelectorVector):
1698         (CSSParser):
1699         (WebCore::CSSParser::reusableRegionSelectorVector):
1700         * css/CSSParserValues.cpp:
1701         (WebCore::CSSParserSelector::adoptSelectorVector):
1702         * css/CSSParserValues.h:
1703         (CSSParserSelector):
1704         * css/CSSSelectorList.cpp:
1705         (WebCore::CSSSelectorList::adoptSelectorVector):
1706         * css/CSSSelectorList.h:
1707         (CSSSelectorList):
1708         * css/SVGCSSParser.cpp:
1709         (WebCore::CSSParser::parseSVGValue):
1710         * css/StyleRule.cpp:
1711         (WebCore::StyleRuleRegion::StyleRuleRegion):
1712         * css/StyleRule.h:
1713         (WebCore::StyleRule::parserAdoptSelectorVector):
1714         (WebCore::StyleRulePage::parserAdoptSelectorVector):
1715         (WebCore::StyleRuleRegion::create):
1716         (StyleRuleRegion):
1717
1718 2012-11-14  Alec Flett  <alecflett@chromium.org>
1719
1720         Add tests for explicit serialization values
1721         https://bugs.webkit.org/show_bug.cgi?id=96818
1722
1723         Reviewed by Adam Barth.
1724
1725         Expose direct access to the serialization/deserialization mechanisms
1726         of SerializedScriptValue to DumpRenderTree.
1727
1728         * testing/Internals.cpp:
1729         (WebCore::Internals::serializeObject):
1730         (WebCore):
1731         (WebCore::Internals::deserializeBuffer):
1732         * testing/Internals.h:
1733         (WebCore):
1734         * testing/Internals.idl:
1735
1736 2012-11-14  Michael Pruett  <michael@68k.org>
1737
1738         IndexedDB: Add clear() method to JSC ScriptValue
1739         https://bugs.webkit.org/show_bug.cgi?id=102288
1740
1741         Reviewed by Kentaro Hara.
1742
1743         IndexedDB uses the ScriptValue::clear() method, which existed
1744         previously only in the V8 implementation of ScriptValue. This
1745         change is necessary to implement IndexedDB for JSC.
1746
1747         Tests: storage/indexeddb/*
1748
1749         * bindings/js/ScriptValue.h:
1750         (WebCore::ScriptValue::clear):
1751         (ScriptValue):
1752
1753 2012-11-14  Joshua Bell  <jsbell@chromium.org>
1754
1755         IndexedDB: Indexing tests are flaky-crashing
1756         https://bugs.webkit.org/show_bug.cgi?id=102283
1757
1758         Reviewed by Tony Chang.
1759
1760         Don't commit the transaction if there are outstanding pre-emptive events
1761         from indexing operations.
1762
1763         Speculative fix for the flakiness.
1764
1765         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1766         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
1767
1768 2012-11-14  Tony Chang  <tony@chromium.org>
1769
1770         Crash in flexbox when removing absolutely positioned children
1771         https://bugs.webkit.org/show_bug.cgi?id=100465
1772
1773         Reviewed by Ojan Vafai.
1774
1775         We use m_numberOfChildrenOnFirstLine when computing baseline alignment.
1776         This value gets set during flexbox layout. When we remove an absolutely
1777         positioned child, we don't relayout and this value would get stale.
1778
1779         Change m_numberOfChildrenOnFirstLine to m_numberOfInFlowChildrenOnFirstLine
1780         so the value doesn't get stale when we remove absolutely positioned children.
1781         Also change the loop in firstLineBoxBaseline to bail if we run off the end of
1782         the iterator.
1783
1784         Test: css3/flexbox/crash-removing-out-of-flow-child.html
1785
1786         * rendering/RenderFlexibleBox.cpp:
1787         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
1788         (WebCore::RenderFlexibleBox::firstLineBoxBaseline):
1789         (WebCore::RenderFlexibleBox::layoutBlock):
1790         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
1791         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1792         * rendering/RenderFlexibleBox.h:
1793
1794 2012-11-14  Joshua Bell  <jsbell@chromium.org>
1795
1796         IndexedDB: Remove magic numbers in record comparator, handle missing case
1797         https://bugs.webkit.org/show_bug.cgi?id=102255
1798
1799         Reviewed by Tony Chang.
1800
1801         For some ranges of metadata entries, a simple type byte comparison is sufficient
1802         for the backing store comparator. In two places those ranges used magic numbers,
1803         one of which was incorrect - which could lead to failed reads/writes.
1804
1805         Test: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'
1806
1807         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1808         (IDBLevelDBCoding):
1809         (WebCore::IDBLevelDBCoding::compare):
1810         * Modules/indexeddb/IDBLevelDBCoding.h:
1811
1812 2012-11-14  Dirk Schulze  <krit@webkit.org>
1813
1814         Cleanup BasicShape blending check
1815         https://bugs.webkit.org/show_bug.cgi?id=102289
1816
1817         Reviewed by Daniel Bates.
1818
1819         CSSPropertyAnimation had the same code for varifying that two BasicShape objects can be blended 
1820         twice. Refactor the code and add a canBlend method in BasicShape that combines both checks. This
1821         is a preparation for follow-up patches.
1822
1823         Pure refactoring without behavior change, no new tests.
1824
1825         * page/animation/CSSPropertyAnimation.cpp:
1826         (WebCore::blendFunc): Call new canBlend method for blending verification.
1827         * rendering/style/BasicShapes.cpp:
1828         (WebCore::BasicShape::canBlend): Check if two BasicShape objects can be blended.
1829         (WebCore):
1830         * rendering/style/BasicShapes.h:
1831
1832 2012-11-14  Dirk Schulze  <krit@webkit.org>
1833
1834         [CSS Exclusions] Basic shapes on 'shape-inside' should be animatable
1835         https://bugs.webkit.org/show_bug.cgi?id=102123
1836
1837         Reviewed by Antti Koivisto.
1838
1839         The '-webkit-shape-inside' propery takes a BasicShape as input like
1840         '-webkit-clip-path'. Follow up on http://trac.webkit.org/changeset/134352 and
1841         make '-webkit-shape-inside' animatable as well.
1842
1843         Test: fast/exclusions/shape-inside/shape-inside-animation.html
1844
1845         * page/animation/CSSPropertyAnimation.cpp:
1846         (WebCore::blendFunc): Blend fuction for exclusion shapes. The property takes another
1847             input then '-webkit-clip-path'.
1848         (WebCore):
1849         (PropertyWrapperBasicShape): Add wrapper for BasicShape object. Can be reused by
1850             '-webkit-shape-ourside' as well.
1851         (WebCore::PropertyWrapperBasicShape::PropertyWrapperBasicShape):
1852         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
1853
1854 2012-11-14  Helder Correia  <helder.correia@nokia.com>
1855
1856         [TexMap][Cairo] Accelerated compositing debug visuals
1857         https://bugs.webkit.org/show_bug.cgi?id=101883
1858
1859         Reviewed by Kenneth Rohde Christiansen.
1860
1861         No new tests, just introducing a debug feature.
1862
1863         Add a Cairo implementation to complement the patch from bug 90116
1864         (http://trac.webkit.org/changeset/122275).
1865
1866         For this feature to be enabled, the environment variable
1867         WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
1868         both repaint counters and tile borders will be painted.
1869
1870         A Cairo-specific drawRepaintCounter() implementation was added to
1871         TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
1872         the counters. It is then uploaded to a BitmapTexture acquired
1873         from the pool and finally draw by TextureMapper. The actual compositing
1874         happens inside LayerBackingStore::paintToTextureMapper(). Each
1875         LayerBackingStoreTile has a repaint counter which gets incremented in
1876         LayerBackingStore::updateTile().
1877
1878         * platform/graphics/texmap/TextureMapperGL.cpp:
1879         (WebCore::TextureMapperGL::drawRepaintCounter):
1880
1881 2012-11-14  Michael Pruett  <michael@68k.org>
1882
1883         IndexedDB: Add JSNoStaticTables to IndexedDB interfaces
1884         https://bugs.webkit.org/show_bug.cgi?id=102268
1885
1886         Reviewed by Geoffrey Garen.
1887
1888         Add JSNoStaticTables attribute to IndexedDB interface
1889         definitions. This attribute must be specified in interfaces
1890         which can be accessed from workers.
1891
1892         Tests: storage/indexeddb/*
1893
1894         * Modules/indexeddb/IDBAny.idl:
1895         * Modules/indexeddb/IDBCursor.idl:
1896         * Modules/indexeddb/IDBCursorWithValue.idl:
1897         * Modules/indexeddb/IDBDatabase.idl:
1898         * Modules/indexeddb/IDBDatabaseException.idl:
1899         * Modules/indexeddb/IDBFactory.idl:
1900         * Modules/indexeddb/IDBIndex.idl:
1901         * Modules/indexeddb/IDBKey.idl:
1902         * Modules/indexeddb/IDBKeyRange.idl:
1903         * Modules/indexeddb/IDBObjectStore.idl:
1904         * Modules/indexeddb/IDBOpenDBRequest.idl:
1905         * Modules/indexeddb/IDBRequest.idl:
1906         * Modules/indexeddb/IDBTransaction.idl:
1907         * Modules/indexeddb/IDBUpgradeNeededEvent.idl:
1908         * Modules/indexeddb/IDBVersionChangeEvent.idl:
1909         * Modules/indexeddb/IDBVersionChangeRequest.idl:
1910         * dom/DOMStringList.idl:
1911
1912 2012-11-14  Michael Pruett  <michael@68k.org>
1913
1914         IndexedDB: Replace int64 with int64_t
1915         https://bugs.webkit.org/show_bug.cgi?id=102270
1916
1917         Reviewed by Tony Chang.
1918
1919         Cleaning up coding inconsistencies, no change in behavior.
1920
1921         Tests: storage/indexeddb/*
1922
1923         * Modules/indexeddb/IDBDatabase.cpp:
1924         (WebCore::IDBDatabase::deleteObjectStore):
1925         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1926         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1927
1928 2012-11-14  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
1929
1930         [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
1931         https://bugs.webkit.org/show_bug.cgi?id=102000
1932
1933         Reviewed by Noam Rosenthal.
1934
1935         Add helper functions to clear viewport before painting. Those functions
1936         used by EFL Webkit2 port to set view background to match page background
1937         in order to reduce visibility of flicker during scrolling/scaling/repainting
1938         where page tiles are not ready.
1939
1940         * platform/graphics/texmap/TextureMapper.h:
1941         * platform/graphics/texmap/TextureMapperGL.cpp:
1942         (WebCore::TextureMapperGL::drawSolidColor):
1943         (WebCore):
1944         * platform/graphics/texmap/TextureMapperGL.h:
1945         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
1946         (WebCore::TextureMapperImageBuffer::drawSolidColor):
1947         (WebCore):
1948         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1949
1950 2012-11-14  Mark Lam  <mark.lam@apple.com>
1951
1952         Fixed regressions due to adding JSEventListener::m_wrapper null checks.
1953         https://bugs.webkit.org/show_bug.cgi?id=102183.
1954
1955         Reviewed by Geoffrey Garen.
1956
1957         Fixed JSEventListener::operator==() to work within the contract that
1958         when m_wrapper is 0, m_jsFunction is also expected to be 0. Also fixed
1959         some typos in comments.
1960
1961         No new tests.
1962
1963         * bindings/js/JSEventListener.cpp:
1964         (WebCore::JSEventListener::visitJSFunction):
1965         (WebCore::JSEventListener::operator==):
1966         * bindings/js/JSEventListener.h:
1967         (WebCore::JSEventListener::jsFunction):
1968
1969 2012-11-14  Nate Chapin  <japhet@chromium.org>
1970
1971         Fix chromium asserts from r134649.
1972
1973         Rubber-stamped by Adam Barth.
1974
1975         MainResourceLoader was calling releaseResources() twice when cancelled
1976         within MainResourceLoader::load(), so check reachedTerminalState() before
1977         calling releaseResources() there.
1978
1979         * loader/MainResourceLoader.cpp:
1980         (WebCore::MainResourceLoader::load):
1981
1982 2012-11-14  Andreas Kling  <kling@webkit.org>
1983
1984         Only resolve presentation attribute style once per shared ElementAttributeData.
1985         <http://webkit.org/b/100990>
1986
1987         Reviewed by Antti Koivisto.
1988
1989         Track the "presentation attribute style dirty" state on ElementAttributeData instead of in a Node flag.
1990         This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
1991         since the state is no longer per-Element.
1992
1993         I've left the presentation attribute cache in there for now, since it still covers the case where
1994         two elements have the same presentation attributes but different non-presentation attributes.
1995         It's likely that we're not gaining much from it anymore, but that's a topic for another patch.
1996
1997         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1998         * dom/StyledElement.h:
1999         (WebCore::StyledElement::presentationAttributeStyle):
2000         (WebCore::ElementAttributeData::ElementAttributeData):
2001         * dom/ElementAttributeData.h:
2002         (WebCore::ElementAttributeData::ElementAttributeData):
2003         (ElementAttributeData):
2004         * dom/Node.h:
2005
2006             Move presentation attribute style dirty flag from Node to ElementAttributeData.
2007
2008         * dom/ElementAttributeData.cpp:
2009         (SameSizeAsElementAttributeData):
2010
2011             Add a compile-time object size assertion for ElementAttributeData.
2012
2013         * dom/StyledElement.cpp:
2014         (WebCore::StyledElement::attributeChanged):
2015
2016             Don't mark the presentation attribute style dirty if the element is using an immutable (implies
2017             shared) ElementAttributeData and another element has already generated the StylePropertySet.
2018             The element itself is still marked for style recalc like before, this just avoids the process
2019             of converting the attributes to CSS properties.
2020
2021 2012-11-14  Scott Violet  <sky@chromium.org>
2022
2023         [Chromium] Refactor theme font lookup into a factory
2024         https://bugs.webkit.org/show_bug.cgi?id=101949
2025
2026         Reviewed by Tony Chang.
2027
2028         This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.
2029
2030         No new tests. Refactoring only.
2031
2032         * WebCore.gyp/WebCore.gyp:
2033         * WebCore.gypi:
2034         * rendering/RenderThemeChromiumFontProvider.cpp: Added.
2035         (WebCore):
2036         (WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.
2037         * rendering/RenderThemeChromiumFontProvider.h: Added.
2038         (WTF):
2039         (WebCore):
2040         (RenderThemeChromiumFontProvider): This is the font related methods.
2041         * rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.
2042         (WebCore):
2043         (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
2044         (WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.
2045         * rendering/RenderThemeChromiumFontProviderWin.cpp: Added.
2046         (WebCore):
2047         (WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
2048         (WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
2049         (WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
2050         (WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
2051         (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.
2052         * rendering/RenderThemeChromiumSkia.cpp:
2053         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
2054         (WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
2055         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.
2056         * rendering/RenderThemeChromiumSkia.h:
2057         (RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.
2058         * rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.
2059         (WebCore):
2060         * rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.
2061         (RenderThemeChromiumWin):
2062
2063 2012-11-14  Erik Arvidsson  <arv@chromium.org>
2064
2065         Update DOMException name: InUseAttributeError
2066         https://bugs.webkit.org/show_bug.cgi?id=102141
2067
2068         Reviewed by Ojan Vafai.
2069
2070         Patch 10 of 25 to update DOMException name to match the spec and Firefox.
2071
2072         The name for this is not in the spec but the case was selected to match
2073         Firefox. http://mxr.mozilla.org/mozilla-central/source/dom/base/domerr.msg#18
2074
2075         INUSE_ATTRIBUTE_ERR is historical and not used in any spec or any of our tests.
2076
2077         * dom/DOMCoreException.cpp:
2078         * dom/ExceptionCode.h:
2079
2080 2012-11-14  Lynn Neir  <lynn.neir@skype.net>
2081
2082         [WinCairo] Incorrect line-height for styled menulist (select tag)
2083         in windows theme.
2084         https://bugs.webkit.org/show_bug.cgi?id=79435
2085
2086         Reviewed by Brent Fulgham
2087
2088         Applied same fix as in RenderThemeSafari::adjustMenuListButtonStyle
2089         to Windows theme to fix issue.
2090
2091         Tests: fast/forms/menulist-restrict-line-height.html
2092                fast/forms/control-restrict-line-height.html
2093                fast/forms/basic-selects.html
2094
2095         * rendering/RenderThemeWin.cpp:
2096         (WebCore::RenderThemeWin::adjustMenuListButtonStyle): Set line
2097         height to the correct initial height.
2098
2099 2012-11-14  Erik Arvidsson  <arv@chromium.org>
2100
2101         Update DOMException name: WrongDocumentError
2102         https://bugs.webkit.org/show_bug.cgi?id=102096
2103
2104         Reviewed by Ojan Vafai.
2105
2106         Patch 4 of 25 to update DOMException name to match the spec and Firefox.
2107
2108         Updated existing tests.
2109
2110         * dom/DOMCoreException.cpp:
2111
2112 2012-11-14  Nate Chapin  <japhet@chromium.org>
2113
2114         Move empty loading to DocumentLoader, simplify FrameLoader::init()
2115         https://bugs.webkit.org/show_bug.cgi?id=101512
2116
2117         Reviewed by Adam Barth.
2118
2119         No new tests, though several outputs changed because we no longer send resource
2120             load callbacks for empty loads.
2121
2122         * loader/DocumentLoader.cpp:
2123         (WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource
2124             loads directly here.
2125         * loader/DocumentLoader.h:
2126         * loader/FrameLoader.cpp:
2127         (WebCore::FrameLoader::FrameLoader): Initialize some variables whose values
2128             were previously being reset in init(). Given that the FrameLoader is in
2129             an inconsistent state before init() is called anyway, there doesn't seem
2130             to be a disadvantage to just initializing them to their post-init() values.
2131         (WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of
2132             doing a bunch of direct calls to functions FrameLoader shouldn't know about.
2133         * loader/FrameLoaderStateMachine.cpp:
2134         * loader/FrameLoaderStateMachine.h:
2135         * loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.
2136         (WebCore::MainResourceLoader::loadNow): This only returned true when an empty
2137             load got deferred, which won't happen now. Return void and always treat
2138             as returning false.
2139         * loader/MainResourceLoader.h:
2140
2141 2012-11-14  Erik Arvidsson  <arv@chromium.org>
2142
2143         Update DOMException name: InvalidStateError
2144         https://bugs.webkit.org/show_bug.cgi?id=102241
2145
2146         Reviewed by Ojan Vafai.
2147
2148         Patch 11 of 25 to update DOMException name to match the spec and Firefox.
2149
2150         Updated existing tests.
2151
2152         * dom/DOMCoreException.cpp:
2153
2154 2012-11-14  Joshua Bell  <jsbell@chromium.org>
2155
2156         Rename NATIVE_TYPE_ERR to TypeError
2157         https://bugs.webkit.org/show_bug.cgi?id=102114
2158
2159         Reviewed by Kentaro Hara.
2160
2161         Defines names (mostly) matching WebIDL exception types for use by dom (etc) code.
2162         V8 binding code had colliding enum members, which required prefixing.
2163
2164         No new tests - just internal renames.
2165
2166         * Modules/indexeddb/IDBCursor.cpp: s/NATIVE_TYPE_ERR/TypeError/g
2167         (WebCore::IDBCursor::advance):
2168         (WebCore::IDBCursor::stringToDirection):
2169         (WebCore::IDBCursor::directionToString):
2170         * Modules/indexeddb/IDBDatabase.cpp: Ditto.
2171         (WebCore::IDBDatabase::setVersion):
2172         * Modules/indexeddb/IDBFactory.cpp: Ditto.
2173         (WebCore::IDBFactory::open):
2174         (WebCore::IDBFactory::openInternal):
2175         (WebCore::IDBFactory::deleteDatabase):
2176         * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
2177         (WebCore::IDBObjectStore::createIndex):
2178         * Modules/indexeddb/IDBTransaction.cpp: Ditto.
2179         (WebCore::IDBTransaction::stringToMode):
2180         (WebCore::IDBTransaction::modeToString):
2181         * bindings/js/JSDOMBinding.cpp: Ditto.
2182         (WebCore::setDOMException):
2183         * bindings/v8/DateExtension.cpp: Prefix ErrorType enum/members w/ V8/v8.
2184         (WebCore::DateExtension::OnSleepDetected):
2185         * bindings/v8/NPV8Object.cpp: Ditto.
2186         (_NPN_SetException):
2187         * bindings/v8/V8Binding.cpp: Ditto.
2188         (WebCore::throwError):
2189         (WebCore::handleMaxRecursionDepthExceeded):
2190         * bindings/v8/V8Binding.h: Ditto.
2191         (WebCore):
2192         * bindings/v8/V8NPObject.cpp: Ditto.
2193         (WebCore::npObjectInvokeImpl):
2194         (WebCore::npObjectGetProperty):
2195         (WebCore::npObjectSetProperty):
2196         (WebCore::npObjectPropertyEnumerator):
2197         * bindings/v8/V8ThrowException.cpp: Rename ALL the errors!
2198         (WebCore::V8ThrowException::setDOMException):
2199         (WebCore::V8ThrowException::throwError):
2200         (WebCore::V8ThrowException::throwTypeError):
2201         (WebCore::V8ThrowException::throwNotEnoughArgumentsError):
2202         * bindings/v8/V8ThrowException.h:
2203         (V8ThrowException):
2204         * bindings/v8/WorkerContextExecutionProxy.cpp: Prefixing (continued)
2205         (WebCore::WorkerContextExecutionProxy::evaluate):
2206         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
2207         (WebCore::V8ArrayBuffer::constructorCallback):
2208         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
2209         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2210         (WebCore::constructWebGLArray):
2211         (WebCore::setWebGLArrayHelper):
2212         * bindings/v8/custom/V8AudioContextCustom.cpp: Ditto.
2213         (WebCore::V8AudioContext::constructorCallback):
2214         * bindings/v8/custom/V8BlobCustom.cpp: Ditto.
2215         (WebCore::V8Blob::constructorCallback):
2216         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
2217         (WebCore::V8Clipboard::clearDataCallback):
2218         (WebCore::V8Clipboard::setDragImageCallback):
2219         * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
2220         (WebCore::V8DOMFormData::appendCallback):
2221         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Ditto.
2222         (WebCore::V8SQLResultSetRowList::itemCallback):
2223         * dom/ExceptionCode.h: Add WebIDL exception types.
2224
2225 2012-11-14  Tiancheng Jiang  <tijiang@rim.com>
2226
2227         [BlackBerry] Style BB10 time input field font.
2228         https://bugs.webkit.org/show_bug.cgi?id=102260.
2229
2230         Reviewed by Rob Buis.
2231
2232         RIM PR 243355
2233         Adjust time input field font using BB10 system default font.
2234
2235         * css/themeBlackBerry.css:
2236         (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
2237
2238 2012-11-14  Li Yin  <li.yin@intel.com>
2239
2240         createDelay should raise exception when the maxDelayTime parameter is incorrect.
2241         https://bugs.webkit.org/show_bug.cgi?id=102173
2242
2243         Reviewed by Chris Rogers.
2244
2245         Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
2246         The specified value must be greater than zero and less than three minutes or a
2247         NOT_SUPPORTED_ERR exception will be thrown.
2248
2249         Tests: webaudio/delaynode-maxdelaylimit.html
2250
2251         * Modules/webaudio/AudioContext.cpp:
2252         (WebCore::AudioContext::createDelay):
2253         * Modules/webaudio/AudioContext.h:
2254         (AudioContext):
2255         * Modules/webaudio/AudioContext.idl: Add raising exception for createDelay.
2256         * Modules/webaudio/DelayNode.cpp:
2257         (WebCore):
2258         (WebCore::DelayNode::DelayNode):
2259         * Modules/webaudio/DelayNode.h:
2260         (WebCore::DelayNode::create):
2261         (DelayNode):
2262
2263 2012-11-14  Simon Fraser  <simon.fraser@apple.com>
2264
2265         Don't pass a paintingRoot when painting from RenderLayerBacking
2266         https://bugs.webkit.org/show_bug.cgi?id=102256
2267
2268         Reviewed by David Hyatt.
2269
2270         The 'paintingRoot' parameter to the RenderLayer paint functions
2271         is used when painting just a subtree (e.g. when painting dragged
2272         selections). There is no need to pass it when a RenderLayerBacking
2273         paints its contents or overlay scrollbars.
2274         
2275         Passing it requires an expensive isDescendant() check, so passing
2276         null is more efficient.
2277         
2278         * rendering/RenderLayer.h:
2279         (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
2280         * rendering/RenderLayerBacking.cpp:
2281         (WebCore::RenderLayerBacking::paintIntoLayer):
2282         (WebCore::RenderLayerBacking::paintContents):
2283         * rendering/RenderLayerBacking.h:
2284         (RenderLayerBacking):
2285
2286 2012-11-14  Alec Flett  <alecflett@chromium.org>
2287
2288         Add DOMRequestState to maintain world/ScriptExecutionContext state
2289         https://bugs.webkit.org/show_bug.cgi?id=102102
2290
2291         Reviewed by Adam Barth.
2292
2293         Introduce DOMRequestState, and convert IndexedDB over.
2294
2295         No new tests, this is an abstraction layer for existing code.
2296
2297         * Modules/indexeddb/IDBRequest.cpp:
2298         (WebCore::IDBRequest::IDBRequest):
2299         (WebCore::IDBRequest::onSuccess):
2300         (WebCore::IDBRequest::dispatchEvent):
2301         * Modules/indexeddb/IDBRequest.h:
2302         (IDBRequest):
2303         * WebCore.gypi:
2304         * bindings/v8/DOMRequestState.h: Added.
2305         (WebCore):
2306         (DOMRequestState):
2307         (WebCore::DOMRequestState::DOMRequestState):
2308         (Scope):
2309         (WebCore::DOMRequestState::Scope::Scope):
2310         (WebCore::DOMRequestState::scope):
2311
2312 2012-11-14  Justin Novosad  <junov@google.com>
2313
2314         Boxes with rounded corners and thin borders are too slow to draw
2315         https://bugs.webkit.org/show_bug.cgi?id=101974
2316
2317         Reviewed by Simon Fraser.
2318
2319         With the current implementation RenderBox::
2320         determineBackgroundBleedAvoidance() uses the slow path
2321         BackgroundBleedUseTransparencyLayer for some very common use cases,
2322         notably for drawing rectangles with rounded corners that have thin
2323         borders. This is because the BackgroundBleedShrinkBackground
2324         strategy requires a border at least two pixels wide on all sides. This
2325         patch introduce drawing strategy BackgroundBleedBackgroundOverBorder.
2326         This approach consists in drawing the border first, with an inset inner
2327         edge (for anti-aliased compositing to work well).  This approach only
2328         works with opaque solid edges and opaque single-layer backgrounds.
2329         By using this approach rather than BackgroundBleedUseTransparencyLayer,
2330         we save two clipPath, one save and one saveLayer on the
2331         GraphicsContext. This patch gets good coverage from existing layout
2332         tests. One additional test was added to exercise mitring, thick edges
2333         and anti-aliasing edge cases under the new painting algorithm.
2334
2335         Test: fast/borders/border-radius-wide-border-05.html
2336
2337         * rendering/RenderBox.cpp:
2338         (WebCore::RenderBox::determineBackgroundBleedAvoidance):
2339         Added selection criteria for BackgroundOverBorder
2340         (WebCore::RenderBox::paintBoxDecorations):
2341         Added a preliminary paintBorder pass for BackgroundOverBorder
2342         (WebCore::RenderBox::paintBackground):
2343         Insetting the background to to innerBorder when bleedAvoidance is
2344         BackgroundOverBorder.  This why BackgroundOverBorder only works for
2345         Opaque solid edges.
2346         (WebCore):
2347         (WebCore::RenderBox::backgroundIsSingleOpaqueLayer):
2348         Utility method use by determineBackgroundBleedAvoidance to test the
2349         background's eligibility for BackgroundOverBorder bleed avoidance
2350         strategy.  The reason the background must be a single layer is to avoid
2351         color bleeding from layer compositing along anti-aliased edges
2352         * rendering/RenderBox.h:
2353         (RenderBox):
2354         * rendering/RenderBoxModelObject.cpp:
2355         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
2356         (WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
2357         Added support for BackgroundOverBorder by applying a one pixel inset.
2358         (WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
2359         Set the background rect to the inner border for BackgroundOverBorder
2360         (WebCore):
2361         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2362         Added support for BackgroundOverBorder by using 
2363         backgroundRoundedRectAdjustedForBleedAvoidance
2364         (WebCore::RenderBoxModelObject::paintBorderSides):
2365         Added support for BackgroundOverBorder by applying per-side inset
2366         adjustments.
2367         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2368         (WebCore::RenderBoxModelObject::paintBorder):
2369         Added support for BackgroundOverBorder by using an adjusted inner
2370         border, but not if sides are painted individually.
2371         * rendering/RenderBoxModelObject.h:
2372         (RenderBoxModelObject):
2373
2374 2012-11-14  Hideki Yoshida  <yoshida-hxa@necst.nec.co.jp>
2375
2376         [WinCairo] Fix cairo_t* memory leak in GraphicsContext::platformInit
2377         https://bugs.webkit.org/show_bug.cgi?id=76219
2378
2379         Reviewed by Brent Fulgham.
2380
2381         This patch is to fix a memory leak problem which occurs
2382         in every rendering process on Wincairo port.
2383         By applying this patch, the memory allocated in cairo 
2384         library will be released by calling cairo_destroy.
2385
2386         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2387         (WebCore::GraphicsContext::platformInit):
2388
2389 2012-11-14  Sami Kyostila  <skyostil@chromium.org>
2390
2391         Optimize painting of composited scrolling layers
2392         https://bugs.webkit.org/show_bug.cgi?id=96087
2393
2394         Reviewed by Simon Fraser.
2395
2396         Don't completely repaint accelerated scrolling layers when the scroll offset
2397         changes.
2398
2399         Test: compositing/overflow/scrolling-without-painting.html
2400
2401         * platform/graphics/GraphicsLayer.cpp:
2402         (WebCore::GraphicsLayer::setOffsetFromRenderer):
2403         * platform/graphics/GraphicsLayer.h:
2404         (GraphicsLayer):
2405         * rendering/RenderLayerBacking.cpp:
2406         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2407
2408 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
2409
2410         Web Inspector: keep track of mutation observers and disconnect them upon upload
2411         https://bugs.webkit.org/show_bug.cgi?id=102239
2412
2413         Reviewed by Vsevolod Vlasov.
2414
2415         Otherwise we hit memory leaks.
2416
2417         * inspector/front-end/DefaultTextEditor.js:
2418         (WebInspector.DefaultTextEditor.prototype.wasShown):
2419         (WebInspector.DefaultTextEditor.prototype.willHide):
2420         (WebInspector.TextEditorMainPanel.prototype._wasShown):
2421         (WebInspector.TextEditorMainPanel.prototype._willHide):
2422         (WebInspector.TextEditorMainPanel.prototype._attachMutationObserver):
2423         (WebInspector.TextEditorMainPanel.prototype._detachMutationObserver):
2424         * inspector/front-end/utilities.js:
2425
2426 2012-11-14  Sergio Villar Senin  <svillar@igalia.com>
2427
2428         [Qt] Use a node image if there is no drag image set for Drag&Drop
2429         https://bugs.webkit.org/show_bug.cgi?id=102124
2430
2431         Reviewed by Simon Hausmann.
2432
2433         Use the nodeImage provided by the frame if there is no dragImage in
2434         the clipboard for the current drag&drop operation.
2435
2436         * platform/qt/ClipboardQt.cpp:
2437         (WebCore::ClipboardQt::createDragImage):
2438
2439 2012-11-14  Max Vujovic  <mvujovic@adobe.com>
2440
2441         Call to enclosingFilterLayer() in RenderObject::containerForRepaint() is expensive
2442         https://bugs.webkit.org/show_bug.cgi?id=101846
2443
2444         Reviewed by Simon Fraser.
2445
2446         If software-rendered CSS Filters have not been used in the document, avoid doing the second
2447         tree walk in RenderObject::containerForRepaint, which determines the RenderObject's
2448         enclosing filter layer.
2449
2450         No new tests. We now avoid a filters related code path for a performance improvement when
2451         we're not using filters.
2452
2453         * page/FrameView.cpp:
2454         (WebCore::FrameView::FrameView):
2455         * page/FrameView.h:
2456         (FrameView):
2457         (WebCore::FrameView::setHasSoftwareFilters):
2458         (WebCore::FrameView::hasSoftwareFilters):
2459         * rendering/RenderLayer.cpp:
2460         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
2461         * rendering/RenderObject.cpp:
2462         (WebCore::RenderObject::containerForRepaint):
2463
2464 2012-11-14  Erik Arvidsson  <arv@chromium.org>
2465
2466         Update DOMException name: NotFoundError
2467         https://bugs.webkit.org/show_bug.cgi?id=102137
2468
2469         Reviewed by Ojan Vafai.
2470
2471         Patch 8 of 25 to update DOMException name to match the spec and Firefox.
2472
2473         Updated existing tests.
2474
2475         * dom/DOMCoreException.cpp:
2476
2477 2012-11-14  Otto Derek Cheung  <otcheung@rim.com>
2478
2479         [BlackBerry] Updating BB Cookie database to use WAL
2480         https://bugs.webkit.org/show_bug.cgi?id=102237
2481
2482         Reviewed by Rob Buis.
2483
2484         The cookie database is accessed by one process only and should be updated to
2485         use the WAL journal mode for better I/O performance.
2486
2487         PR 236553
2488
2489         cookieCollection.db-wal is created after the conversion to WAL.
2490         Tested cookie persistence by logging on to random sites and restarting the browser and
2491         check if it automatically logs in.
2492         Also tested using Opera's cookie persistence test.
2493
2494         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
2495         (WebCore::CookieDatabaseBackingStore::invokeOpen):
2496
2497 2012-11-14  Erik Arvidsson  <arv@chromium.org>
2498
2499         Update DOMException name: IndexSizeError
2500         https://bugs.webkit.org/show_bug.cgi?id=102087
2501
2502         Reviewed by Ojan Vafai.
2503
2504         This is the first in a series of updates to DOMException name to match
2505         the spec and Firefox.
2506
2507         Patch 1 of 25
2508
2509         Updated existing tests.
2510
2511         * dom/DOMCoreException.cpp:
2512         (WebCore):
2513
2514 2012-11-14  Gabor Rapcsanyi  <rgabor@webkit.org>
2515
2516         Fix [-Wmissing-braces] warnings in graphics/cpu/arm/GraphicsContext3DNEON.h
2517         https://bugs.webkit.org/show_bug.cgi?id=102205
2518
2519         Reviewed by Csaba Osztrogon√°c.
2520
2521         Fixing some warnings in GraphicsContext3DNEON.h which have been caused by missing braces.
2522
2523         * platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
2524         (WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
2525         (WebCore::ARM::unpackOneRowOfRGBA5551ToRGBA8NEON):
2526         (WebCore::ARM::unpackOneRowOfRGB565ToRGBA8NEON):
2527
2528 2012-11-14  Erik Arvidsson  <arv@chromium.org>
2529
2530         Update DOMException name: NoDataAllowedError
2531         https://bugs.webkit.org/show_bug.cgi?id=102132
2532
2533         Reviewed by Darin Adler.
2534
2535         Patch 6 of 25 to update DOMException name to match the spec and Firefox.
2536
2537         NO_DATA_ALLOWED_ERR is historical and not used in any spec or in our code.
2538
2539         * dom/DOMCoreException.cpp:
2540         (WebCore):
2541         * dom/ExceptionCode.h:
2542
2543 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
2544
2545         Web Inspector: "Reveal in Element Panel" doesn't work if Elements panel hasn't been opened
2546         https://bugs.webkit.org/show_bug.cgi?id=102219
2547
2548         Reviewed by Alexander Pavlov.
2549
2550         Force elements module load upon context menu invocation.
2551
2552         * inspector/front-end/ElementsTreeOutline.js:
2553         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
2554         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
2555
2556 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2557
2558         Unreviewed, rolling out r134523.
2559         http://trac.webkit.org/changeset/134523
2560         https://bugs.webkit.org/show_bug.cgi?id=102218
2561
2562         brake chrome windows build, as it references a non existing
2563         header js/DOMRequestState.h (Requested by jochen__ on
2564         #webkit).
2565
2566         * Modules/indexeddb/IDBCursor.cpp:
2567         (WebCore::IDBCursor::setValueReady):
2568         * Modules/indexeddb/IDBCursor.h:
2569         (IDBCursor):
2570         * Modules/indexeddb/IDBRequest.cpp:
2571         (WebCore::IDBRequest::IDBRequest):
2572         (WebCore::IDBRequest::onSuccess):
2573         (WebCore::IDBRequest::stop):
2574         (WebCore::IDBRequest::dispatchEvent):
2575         * Modules/indexeddb/IDBRequest.h:
2576         (IDBRequest):
2577         * WebCore.gypi:
2578         * bindings/v8/DOMRequestState.h: Removed.
2579         * bindings/v8/IDBBindingUtilities.cpp:
2580         (WebCore::deserializeIDBValue):
2581         (WebCore::idbKeyToScriptValue):
2582         * bindings/v8/IDBBindingUtilities.h:
2583         (WebCore):
2584
2585 2012-11-14  Anton Obzhirov  <a.obzhirov@samsung.com>
2586
2587         Add platform implementation of remote web inspector server for GTK port.
2588         https://bugs.webkit.org/show_bug.cgi?id=88094 
2589
2590         Reviewed by Gustavo Noronha Silva.
2591
2592         Extra SocketStreamHandle constructor is added to accept existing GSocketConnection.
2593         Needed to pass remote inspector server socket connection. The change is tested with 
2594         inspector server API tests.
2595
2596         * platform/network/soup/SocketStreamHandle.h:
2597         (WebCore::SocketStreamHandle::create):
2598         (SocketStreamHandle):
2599         * platform/network/soup/SocketStreamHandleSoup.cpp:
2600         (WebCore::SocketStreamHandle::SocketStreamHandle):
2601         (WebCore):
2602         (WebCore::SocketStreamHandle::connected):
2603         (WebCore::SocketStreamHandle::platformSend):
2604         (WebCore::SocketStreamHandle::platformClose):
2605
2606 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
2607
2608         Web Inspector: context menu on ObjectPropertyTreeElement's values is masked by the section.
2609         https://bugs.webkit.org/show_bug.cgi?id=102212
2610
2611         Reviewed by Vsevolod Vlasov.
2612
2613         * inspector/front-end/ObjectPropertiesSection.js:
2614         (WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):
2615
2616 2012-11-09  Ilya Tikhonovsky  <loislo@chromium.org>
2617
2618         Web Inspector: NMI add instrumentation for WebAudo related stuff.
2619         They use about 16Mb for shared data on pages with webaudio.
2620         As example Angry Birds app.
2621         https://bugs.webkit.org/show_bug.cgi?id=101729
2622
2623         Reviewed by Yury Semikhatsky.
2624
2625         Plain vanilla instrumentation for audio and webaudio classes.
2626         AudioContext is a kind of ActiveDOMObject. I found that these objects
2627         are accessible through ScriptExecutuionContext and ScriptExecutionContext
2628         is an ancestor of Document. Document class was instrumented earler.
2629         I instrumented ActiveDOMObject, ScriptExecutionContext and other ancestors
2630         and now AudioContext and other ActiveDOMObjects are reacheable from Document.
2631
2632         Test: inspector-protocol/nmi-webaudio.html
2633
2634         * Modules/webaudio/AudioContext.cpp:
2635         (WebCore::AudioContext::reportMemoryUsage):
2636         (WebCore):
2637         * Modules/webaudio/AudioContext.h:
2638         (AudioContext):
2639         * Modules/webaudio/AudioNode.cpp:
2640         (WebCore::AudioNode::reportMemoryUsage):
2641         (WebCore):
2642         * Modules/webaudio/AudioNode.h:
2643         (AudioNode):
2644         * dom/ActiveDOMObject.cpp:
2645         (WebCore::ActiveDOMObject::reportMemoryUsage):
2646         (WebCore):
2647         * dom/ActiveDOMObject.h:
2648         (ActiveDOMObject):
2649         * dom/Document.cpp:
2650         (WebCore::Document::reportMemoryUsage):
2651         * dom/ScriptExecutionContext.cpp:
2652         (WebCore::ScriptExecutionContext::reportMemoryUsage):
2653         (WebCore):
2654         * dom/ScriptExecutionContext.h:
2655         (ScriptExecutionContext):
2656         * dom/SecurityContext.cpp:
2657         (WebCore::SecurityContext::reportMemoryUsage):
2658         (WebCore):
2659         * dom/SecurityContext.h:
2660         (SecurityContext):
2661         * dom/WebCoreMemoryInstrumentation.cpp:
2662         (WebCore):
2663         * dom/WebCoreMemoryInstrumentation.h:
2664         (WebCoreMemoryTypes):
2665         * platform/audio/AudioArray.h:
2666         (AudioArray):
2667         (WebCore::AudioArray::reportMemoryUsage):
2668         * platform/audio/FFTFrame.cpp:
2669         (WebCore::FFTFrame::reportMemoryUsage):
2670         (WebCore):
2671         * platform/audio/FFTFrame.h:
2672         (FFTFrame):
2673         * platform/audio/HRTFDatabase.cpp:
2674         (WebCore::HRTFDatabase::reportMemoryUsage):
2675         (WebCore):
2676         * platform/audio/HRTFDatabase.h:
2677         (HRTFDatabase):
2678         * platform/audio/HRTFDatabaseLoader.cpp:
2679         (WebCore::HRTFDatabaseLoader::reportMemoryUsage):
2680         (WebCore):
2681         * platform/audio/HRTFDatabaseLoader.h:
2682         (HRTFDatabaseLoader):
2683         * platform/audio/HRTFElevation.cpp:
2684         (WebCore::HRTFElevation::reportMemoryUsage):
2685         (WebCore):
2686         * platform/audio/HRTFElevation.h:
2687         (HRTFElevation):
2688         * platform/audio/HRTFKernel.cpp:
2689         (WebCore::HRTFKernel::reportMemoryUsage):
2690         (WebCore):
2691         * platform/audio/HRTFKernel.h:
2692         (HRTFKernel):
2693
2694 2012-11-14  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2695
2696         Web Inspector: Settings screen: close button overlays view title on mac.
2697         https://bugs.webkit.org/show_bug.cgi?id=102198
2698
2699         Reviewed by Pavel Feldman.
2700
2701         Added margin-left for mac. Adjusted title height and vertical positioning.
2702
2703         * inspector/front-end/helpScreen.css:
2704         (.help-window-caption): Adjusted title height.
2705         (.help-window-title): Adjusted title vertical positioning. 
2706         (body.platform-mac .help-window-main .help-window-title): Fixed margin.
2707
2708 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
2709
2710         Web Inspector: use last selection as complementary signal when applying DOM changes to the text model.
2711         https://bugs.webkit.org/show_bug.cgi?id=101905
2712
2713         Reviewed by Vsevolod Vlasov.
2714
2715         Currently we use heuristics for detecting damaged model range upon DOM mutation.
2716         This change adds signals from the last selection and keyboard events in order to
2717         further improve the heuristics quality.
2718
2719         * inspector/front-end/DefaultTextEditor.js:
2720         (WebInspector.DefaultTextEditor):
2721         (WebInspector.DefaultTextEditor.EditInfo):
2722         (WebInspector.DefaultTextEditor.prototype._handleTextInput):
2723         (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
2724         (WebInspector.DefaultTextEditor.prototype.lastSelection):
2725         (WebInspector.DefaultTextEditor.prototype.wasShown):
2726         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2727         (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
2728         (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnDiff):
2729         (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
2730         (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
2731         * inspector/front-end/TextEditorModel.js:
2732         (WebInspector.TextRange.prototype.compareTo):
2733         (WebInspector.TextRange.prototype.shift):
2734         (WebInspector.TextEditorModel.endsWithBracketRegex.):
2735
2736 2012-11-14  Dan Carney  <dcarney@google.com>
2737
2738         [V8] use toV8Fast in all relevant Node getters
2739         https://bugs.webkit.org/show_bug.cgi?id=100851
2740
2741         Reviewed by Kentaro Hara.
2742
2743         The toV8Fast function for Node objects is now called in all getters
2744         instead of toV8.
2745
2746         No new tests. Test coverage extensive.
2747
2748         * bindings/scripts/CodeGeneratorV8.pm:
2749         (GenerateHeader):
2750         (GenerateNormalAttrGetter):
2751         (IsDOMNodeType):
2752         * bindings/scripts/test/V8/V8TestNode.h:
2753         (WebCore::toV8Fast):
2754
2755 2012-11-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2756
2757         Clean up use of adjustWindowRect
2758         https://bugs.webkit.org/show_bug.cgi?id=102072
2759
2760         Reviewed by Gyuyoung Kim.
2761
2762         Tested by fast/dom/Window/open-window-min-size.html
2763
2764         * loader/FrameLoader.cpp:
2765         (WebCore::createWindow):
2766
2767             Validate the window size here so that it is not just done for
2768             .open, but also for .showModalDialog. This is compatible with
2769             other browsers such as IE and Firefox (though IE > 6, enforces
2770             a minimum width of 250 instead of 100 as Firefox and us.)
2771
2772         * page/DOMWindow.cpp:
2773         (WebCore):
2774         (WebCore::DOMWindow::adjustWindowRect):
2775
2776             Make it a static method which only takes page. It was never
2777             called from anywhere without a valid page, so the page check
2778             has been turned into an assert, and two of the arguments have
2779             been removed as they can be accessed via the page.
2780
2781         (WebCore::DOMWindow::moveBy):
2782         (WebCore::DOMWindow::moveTo):
2783         (WebCore::DOMWindow::resizeBy):
2784         (WebCore::DOMWindow::resizeTo):
2785
2786             Update use of adjustWindowRect.
2787
2788         (WebCore::DOMWindow::open):
2789
2790             Avoid modifying the WindowFeatures as the WebCore::createWindow
2791             validates and adjusts the arguments.
2792
2793         * page/DOMWindow.h:
2794         (DOMWindow):
2795
2796 2012-11-14  Takashi Sakamoto  <tasak@google.com>
2797
2798         Crash when replacing parts of text inputs with content: url(...)
2799         https://bugs.webkit.org/show_bug.cgi?id=101133
2800
2801         Reviewed by Kent Tamura.
2802
2803         Disable directly setting content of elements in an input element's
2804         shadow dom tree, because the setting breaks input element's behavior.
2805
2806         Tests: fast/forms/number/number-content-url-crash.html
2807                fast/forms/search/search-content-url-crash.html
2808
2809         * css/html.css:
2810         (input::-webkit-textfield-decoration-container):
2811         Use important to disable overriding an input element's content
2812         property.
2813         * html/TextFieldInputType.cpp:
2814         (WebCore::TextFieldInputType::attach):
2815         Added ASSERTION. No content should be applied to
2816         input::-webkit-textfield-decoration-container.
2817
2818 2012-11-14  Kentaro Hara  <haraken@chromium.org>
2819
2820         Unreviewed. Rebaselined run-bindings-tests results.
2821
2822         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2823         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
2824         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
2825         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
2826         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
2827         (WebCore::V8TestOverloadedConstructors::wrapSlow):
2828
2829 2012-11-14  Anton Muhin  <antonm@chromium.org>
2830
2831         Provide return types for custom WebGLRenderingContext methods
2832         https://bugs.webkit.org/show_bug.cgi?id=100777
2833
2834         Reviewed by Kenneth Russell.
2835
2836         No new tests as doesn't change generated code.
2837
2838         * html/canvas/WebGLRenderingContext.idl:
2839
2840 2012-11-14  Kent Tamura  <tkent@chromium.org>
2841
2842         Support for localization tests of calendar picker
2843         https://bugs.webkit.org/show_bug.cgi?id=102181
2844
2845         Reviewed by Kentaro Hara.
2846
2847         Introduce DateTimeChooserParameters::locale to inform locale to
2848         DateTimeChooser implementations. However we pass defaultLanguage
2849         unless tests calls internals.settings.
2850         setLangAttributeAwareFormControlUIEnabled(true) explicitly.
2851
2852         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html
2853
2854         * html/HTMLInputElement.cpp:
2855         (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
2856         Set DateTimeChooserParameters::locale up.
2857         * platform/DateTimeChooser.h:
2858         (DateTimeChooserParameters): Add 'locale' member.
2859
2860 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
2861
2862         Web Inspector: highlight is not updating as one edits CSS properties
2863         https://bugs.webkit.org/show_bug.cgi?id=102191
2864
2865         Reviewed by Alexander Pavlov.
2866
2867         We should update highlight upon layout / style recalculation.
2868
2869         * inspector/InspectorInstrumentation.cpp:
2870         (WebCore):
2871         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
2872         * inspector/InspectorPageAgent.cpp:
2873         (WebCore::InspectorPageAgent::InspectorPageAgent):
2874         (WebCore::InspectorPageAgent::enable):
2875         (WebCore::InspectorPageAgent::disable):
2876         (WebCore::InspectorPageAgent::domContentEventFired):
2877         (WebCore::InspectorPageAgent::didPaint):
2878         (WebCore::InspectorPageAgent::didLayout):
2879         (WebCore::InspectorPageAgent::didScroll):
2880         (WebCore):
2881         (WebCore::InspectorPageAgent::didRecalculateStyle):
2882         * inspector/InspectorPageAgent.h:
2883
2884 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2885
2886         Unreviewed, rolling out r134566.
2887         http://trac.webkit.org/changeset/134566
2888         https://bugs.webkit.org/show_bug.cgi?id=102197
2889
2890         "it broke Chromium Android Release build" (Requested by
2891         haraken on #webkit).
2892
2893         * html/HTMLInputElement.cpp:
2894         (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
2895         * platform/DateTimeChooser.h:
2896         (DateTimeChooserParameters):
2897
2898 2012-11-08  Vsevolod Vlasov  <vsevik@chromium.org>
2899
2900         Web Inspector: No content available for requests made from flash
2901         https://bugs.webkit.org/show_bug.cgi?id=101560
2902
2903         Reviewed by Pavel Feldman.
2904
2905         Network request data is now saved to inspector cache in following cases:
2906          - Error status code;
2907          - No cached resource available;
2908          - Cached resource has ShouldNotBufferData option set.
2909         Drive-by: refactored didReceiveResponse logic to be clearer.
2910
2911         * inspector/InspectorResourceAgent.cpp:
2912         (WebCore::InspectorResourceAgent::didReceiveResponse):
2913         (WebCore::InspectorResourceAgent::didReceiveData):
2914         * loader/cache/CachedResource.h:
2915         (WebCore::CachedResource::shouldBufferData):
2916
2917 2012-11-14  Shinya Kawanaka  <shinyak@chromium.org>
2918
2919         Changing pseudoClass (:target) should cause distribution
2920         https://bugs.webkit.org/show_bug.cgi?id=101699
2921
2922         Reviewed by Hajime Morita.
2923
2924         When cssTarget element is changed, we might have to invalidate distribution. We check its necessity
2925         by consulting with SelectRuleFeatureSet.
2926
2927         We also implement invalidateParentDistributionIfNecessary for all collected features in this patch.
2928
2929         Test: fast/dom/shadow/pseudoclass-update-target.html
2930
2931         * dom/Document.cpp:
2932         (WebCore::Document::setCSSTarget):
2933         * dom/ElementShadow.cpp:
2934         (WebCore::invalidateParentDistributionIfNecessary):
2935         (WebCore):
2936         * dom/ElementShadow.h:
2937         (WebCore):
2938         * html/shadow/SelectRuleFeatureSet.h:
2939         (WebCore::SelectRuleFeatureSet::hasSelectorFor):
2940         (SelectRuleFeatureSet):
2941
2942 2012-11-14  Kentaro Hara  <haraken@chromium.org>
2943
2944         [V8] DOM wrapper objects should be collected in minor GC cycles
2945         https://bugs.webkit.org/show_bug.cgi?id=98725
2946
2947         Reviewed by Adam Barth.
2948
2949         Previously minor GC cycles cannot collect DOM Nodes. All DOM Nodes
2950         have to survive two minor GC cycles, be promoted to the old space
2951         and wait for a heavy major GC cycle.
2952
2953         This patch enables V8 to collect DOM Nodes in minor GC cycles.
2954         For real world applications, I confirmed that minor GC cycles
2955         reclaims a substantial amount of memory (24 MB for Facebook,
2956         235 MB for Google Calendar) with acceptable overhead (~10 ms
2957         per minor GC cycle). No performance regression in Dromaeo
2958         DOM tests.
2959
2960         A design document: https://docs.google.com/a/google.com/document/d/16DeHrzkm3cO9XCPT1aK3Y5qgUxXB3RFmueqQWYmN2rI/edit
2961         Performance results: https://docs.google.com/a/google.com/document/d/1h0-EsHu7T0sSMuZm5eE0r1e8sCAzY3weLvsDUpOSngE/edit
2962         A slide: https://docs.google.com/a/google.com/presentation/d/1uifwVYGNYTZDoGLyCb7sXa7g49mWNMW2gaWvMN5NLk8/edit#slide=id.p
2963
2964         * bindings/v8/IntrusiveDOMWrapperMap.h:
2965         (WebCore::IntrusiveDOMWrapperMap::set):
2966         * bindings/v8/V8DOMWindowShell.cpp:
2967         (WebCore::initializeV8IfNeeded):
2968         * bindings/v8/V8GCController.cpp:
2969         (WebCore):
2970         (WebCore::gcTree):
2971         (WebCore::V8GCController::newWrapperBorn):
2972         (WebCore::V8GCController::gcPrologue):
2973         (WebCore::V8GCController::minorGCPrologue):
2974         (WebCore::V8GCController::majorGCPrologue):
2975         (WebCore::V8GCController::gcEpilogue):
2976         (WebCore::V8GCController::minorGCEpilogue):
2977         (WebCore::V8GCController::majorGCEpilogue):
2978         * bindings/v8/V8GCController.h:
2979         (WebCore):
2980         (V8GCController):
2981         * bindings/v8/WorkerContextExecutionProxy.cpp:
2982         (WebCore::WorkerContextExecutionProxy::initIsolate):
2983         * dom/Element.cpp:
2984         (WebCore::Element::focus):
2985         * dom/Node.h:
2986         (WebCore::Node::inEden):
2987         (WebCore::Node::setEden):
2988         (Node):
2989
2990 2012-11-14  Kentaro Hara  <haraken@chromium.org>
2991
2992         [V8] Replace setDOMWrapper() + setJSWrapperForDOMObject() with createDOMWrapper()
2993         https://bugs.webkit.org/show_bug.cgi?id=101917
2994
2995         Reviewed by Adam Barth.
2996
2997         setJSWrapperForDOMObject() is always coupled with setDOMWrapper().
2998         We can replace setDOMWrapper() + setJSWrapperForDOMObject() with
2999         createDOMWrapper(). (c.f. CREATE_DOM_WRAPPER() in JSC)
3000
3001         No tests. No change in behavior.
3002
3003         * bindings/scripts/CodeGeneratorV8.pm:
3004         (GenerateConstructorCallback):
3005         (GenerateEventConstructorCallback):
3006         (GenerateNamedConstructorCallback):
3007         (GenerateToV8Converters):
3008         * bindings/v8/V8DOMWindowShell.cpp:
3009         (WebCore::V8DOMWindowShell::installDOMWindow):
3010         * bindings/v8/V8DOMWrapper.cpp:
3011         (WebCore::V8DOMWrapper::instantiateV8Object):
3012         * bindings/v8/V8DOMWrapper.h:
3013         (V8DOMWrapper):
3014         (WebCore::V8DOMWrapper::createDOMWrapper):
3015         * bindings/v8/WorkerContextExecutionProxy.cpp:
3016         (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
3017         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3018         (WebCore::V8ArrayBuffer::constructorCallback):
3019         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3020         (WebCore::wrapArrayBufferView):
3021         (WebCore::constructWebGLArray):
3022         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3023         (WebCore::V8DOMFormData::constructorCallback):
3024         * bindings/v8/custom/V8DataViewCustom.cpp:
3025         (WebCore::V8DataView::constructorCallback):
3026         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3027         (WebCore::v8HTMLImageElementConstructorCallback):
3028         * bindings/v8/custom/V8IntentConstructor.cpp:
3029         (WebCore::V8Intent::constructorCallback):
3030         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3031         (WebCore::V8MessageChannel::constructorCallback):
3032         * bindings/v8/custom/V8MutationObserverCustom.cpp:
3033         (WebCore::V8MutationObserver::constructorCallback):
3034         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
3035         (WebCore::V8WebKitPoint::constructorCallback):
3036         * bindings/v8/custom/V8WebSocketCustom.cpp:
3037         (WebCore::V8WebSocket::constructorCallback):
3038         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3039         (WebCore::V8XMLHttpRequest::constructorCallback):
3040
3041 2012-11-14  Kent Tamura  <tkent@chromium.org>
3042
3043         Support for localization tests of calendar picker
3044         https://bugs.webkit.org/show_bug.cgi?id=102181
3045
3046         Reviewed by Kentaro Hara.
3047
3048         Introduce DateTimeChooserParameters::locale to inform locale to
3049         DateTimeChooser implementations. However we pass defaultLanguage
3050         unless tests calls internals.settings.
3051         setLangAttributeAwareFormControlUIEnabled(true) explicitly.
3052
3053         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html
3054
3055         * html/HTMLInputElement.cpp:
3056         (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
3057         Set DateTimeChooserParameters::locale up.
3058         * platform/DateTimeChooser.h:
3059         (DateTimeChooserParameters): Add 'locale' member.
3060
3061 2012-11-14  Alexei Filippov  <alph@chromium.org>
3062
3063         Web Inspector: Show total memory in the NMI snapshot header
3064         https://bugs.webkit.org/show_bug.cgi?id=101922
3065
3066         Reviewed by Pavel Feldman.
3067
3068         * inspector/front-end/NativeMemorySnapshotView.js:
3069         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
3070         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
3071
3072 2012-11-14  Jan Keromnes  <janx@linux.com>
3073
3074         Web Inspector: CodeMirrorTextEditor fails to scroll breakpoint into view after the first time
3075         https://bugs.webkit.org/show_bug.cgi?id=102142
3076
3077         Reviewed by Pavel Feldman.
3078
3079         Calling revealLine in highlightLine like in DefaultTextEditor does the trick.
3080
3081         * inspector/front-end/CodeMirrorTextEditor.js:
3082         (WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
3083
3084 2012-11-13  Kent Tamura  <tkent@chromium.org>
3085
3086         Use menulist-button instead of menulist for date/time input types
3087         https://bugs.webkit.org/show_bug.cgi?id=101886
3088
3089         Reviewed by Hajime Morita.
3090
3091         Both of Chromium-Android and iOS use -webkit-appearance:menulist-button,
3092         not menulist. We had better apply common one by default.
3093
3094         No new tests. Covered by fast/forms/*/*-appearance-*.html.
3095
3096         * css/html.css:
3097         (input[type="date"]): Switch menulist-button from menulist.
3098         (input[type="datetime"]): Ditto.
3099         (input[type="datetime-local"]): Ditto.
3100         (input[type="month"]): Ditto.
3101         (input[type="time"]): Ditto.
3102         (input[type="week"]): Ditto.
3103         (input::-webkit-date-and-time-value):
3104         Add top, right, bottom margins. The right margin is important when
3105         dir=rtl is specified.
3106         whitespace:pre is needed to align baseline in a case of empty values.
3107         * css/themeChromiumAndroid.css:
3108         Remove redundant style declaration.
3109         * css/themeWin.css:
3110         Remove padding adjustment for date/time input types. It is for
3111         textfields.
3112
3113 2012-11-13  Vincent Scheib  <scheib@chromium.org>
3114
3115         Remove RuntimeEnabledFeatures::isPointerLockEnabled.
3116         https://bugs.webkit.org/show_bug.cgi?id=102107
3117
3118         Reviewed by Adam Barth.
3119
3120         The runtime flag is always true now that the feature is enabled by default in Chromium.
3121
3122         * bindings/generic/RuntimeEnabledFeatures.cpp:
3123         (WebCore):
3124         * bindings/generic/RuntimeEnabledFeatures.h:
3125         (RuntimeEnabledFeatures):
3126         * dom/Document.idl:
3127         * dom/Element.idl:
3128         * dom/MouseEvent.idl:
3129
3130 2012-11-13  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3131
3132         Web Inspector: JsDoc-annotate KeyboardShortcuts
3133         https://bugs.webkit.org/show_bug.cgi?id=101301
3134
3135         Reviewed by Pavel Feldman.
3136
3137         JsDoc-annotate KeyboardShortcuts to improve readability.
3138
3139         * inspector/front-end/AdvancedSearchController.js: Fix parameter type.
3140         * inspector/front-end/KeyboardShortcut.js: Add annotations.
3141         * inspector/front-end/Panel.js: Make event parameter typed.
3142         * inspector/front-end/inspector.js: Ditto.
3143
3144 2012-11-13  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3145
3146         Web Inspector: Extract common interface for StatusBarButton and StatusBarCombo
3147         https://bugs.webkit.org/show_bug.cgi?id=101907
3148
3149         Reviewed by Pavel Feldman.
3150
3151         Status bar control element should have common interface for
3152         easier management.
3153         In this patch getter/setter for StatusBarButton "disabled" are replaced
3154         with regular functions "enabled"/"setEnabled"; added "setEnabled"
3155         to StatusBarCombo; added new base class StatusBarItem with
3156         method "setEnabled" and member "element".
3157
3158         * inspector/front-end/CPUProfileView.js: Adopted refactoring.
3159         * inspector/front-end/DockController.js: Ditto.
3160         * inspector/front-end/ScriptsPanel.js: Ditto.
3161         * inspector/front-end/TimelinePanel.js: Ditto.
3162         * inspector/front-end/inspector.js: Ditto.
3163         * inspector/front-end/StatusBarButton.js:
3164         (WebInspector.StatusBarItem): Added.
3165         (WebInspector.StatusBarButton): Replaced getter/setter with
3166         regular functions.
3167         (WebInspector.StatusBarComboBox.prototype.setEnabled): Added.
3168
3169 2012-11-13  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3170
3171         Web Inspector: Console: update tab/shift-tab shortcut description.
3172         https://bugs.webkit.org/show_bug.cgi?id=102175
3173
3174         Reviewed by Pavel Feldman.
3175
3176         For "Tab / Shift-Tab" it said "Next/previous suggestion".
3177         Actually, shift-tab to do nothing, and tab auto-completes common prefix.
3178
3179         * English.lproj/localizedStrings.js: Replaced string.
3180         * inspector/front-end/ConsoleView.js: Updated shortcut registration.
3181
3182 2012-11-13  Dana Jansens  <danakj@chromium.org>
3183
3184         [chromium] Pass showDebugBorders directly to WebLayerTreeSettings, don't use the GraphicsLayer border width setting.
3185         https://bugs.webkit.org/show_bug.cgi?id=102130
3186
3187         Reviewed by James Robinson.
3188
3189         The current method of setting debug borders on GraphicsLayers requires
3190         every GraphicsLayerClient to set the value on the layer(s) it
3191         represents. This skips the NonCompositedContentHost as well as any
3192         other clients other than RenderLayerBacking - including layers from the
3193         inspector.
3194
3195         Instead, pass the debug border setting directly to the
3196         WebLayerTreeSettings where the compositor can use the flag to enable
3197         borders on all layers globally.
3198
3199         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3200         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3201         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
3202         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
3203         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3204         * platform/graphics/chromium/GraphicsLayerChromium.h:
3205         (GraphicsLayerChromium):
3206
3207 2012-11-13  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3208
3209         Enable calendar picker for input types datetime/datetime-local
3210         https://bugs.webkit.org/show_bug.cgi?id=101889
3211
3212         Reviewed by Kent Tamura.
3213
3214         This adds calendar picker to <input type=datetime> and <input type=datetime-local>.
3215         When a user choose a date from calendar picker, year/month/day fields of the input
3216         element are updated and hour/minute/second fields are unchanged.
3217
3218         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-local.html
3219                platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime.html
3220
3221         * Resources/pagepopups/calendarPicker.js: Day.parse accepts datetime string (just drops time part).
3222         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3223         (WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue):
3224         If the given value is not valid for the element, try to parse it as a date string.
3225         * html/DateTimeInputType.cpp:
3226         (WebCore::DateTimeInputType::formatDateTimeFieldsState): DateTimeFieldsState::month() returns 1-12, not 0-11.
3227         * html/DateTimeLocalInputType.cpp:
3228         (WebCore::DateTimeLocalInputType::formatDateTimeFieldsState): Ditto.
3229         * html/shadow/DateTimeEditElement.cpp:
3230         (WebCore::DateTimeEditElement::setOnlyYearMonthDay): Added.
3231         (WebCore):
3232         * html/shadow/DateTimeEditElement.h:
3233         (DateTimeEditElement):
3234         * rendering/RenderThemeChromiumCommon.cpp:
3235         (WebCore::RenderThemeChromiumCommon::supportsCalendarPicker): Return true for datetime and datetimelocal too.
3236
3237 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3238
3239         Unreviewed, rolling out r134524.
3240         http://trac.webkit.org/changeset/134524
3241         https://bugs.webkit.org/show_bug.cgi?id=102177
3242
3243         "Chromiium build broken" (Requested by haraken on #webkit).
3244
3245         * WebCore.gyp/WebCore.gyp:
3246         * WebCore.gypi:
3247         * rendering/RenderThemeChromiumFontProvider.cpp: Removed.
3248         * rendering/RenderThemeChromiumFontProvider.h: Removed.
3249         * rendering/RenderThemeChromiumFontProviderLinux.cpp: Removed.
3250         * rendering/RenderThemeChromiumFontProviderWin.cpp: Removed.
3251         * rendering/RenderThemeChromiumSkia.cpp:
3252         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
3253         (WebCore::RenderThemeChromiumSkia::systemFont):
3254         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
3255         * rendering/RenderThemeChromiumSkia.h:
3256         (RenderThemeChromiumSkia):
3257         * rendering/RenderThemeChromiumWin.cpp:
3258         (WebCore):
3259         (WebCore::getNonClientMetrics):
3260         (WebCore::systemFontSize):
3261         (WebCore::pointsToPixels):
3262         (WebCore::RenderThemeChromiumWin::systemFont):
3263         (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
3264         * rendering/RenderThemeChromiumWin.h:
3265         (RenderThemeChromiumWin):
3266
3267 2012-11-13  KyungTae Kim  <ktf.kim@samsung.com>
3268
3269         Fix compile warning [-Wsign-compare]
3270         https://bugs.webkit.org/show_bug.cgi?id=101458
3271
3272         Reviewed by Alexey Proskuryakov.
3273
3274         Currently, lossy check has been done by comparing file size(posix signed integral value) with conversioned(standard c++ unsigned integral value).
3275         However, it leads -Wsign-compare compile warning.
3276         Therefore, this patch assigns the file size to the biggest possible unsigned variable, then does the lossy check.
3277
3278         * platform/posix/SharedBufferPOSIX.cpp:
3279         (WebCore::SharedBuffer::createWithContentsOfFile):
3280
3281 2012-11-13  Keishi Hattori  <keishi@webkit.org>
3282
3283         Enable datalist UI for input types week and month
3284         https://bugs.webkit.org/show_bug.cgi?id=102041
3285
3286         Reviewed by Kent Tamura.
3287
3288         Enabling datalist UI for input types week and month.
3289
3290         No new tests. Tests will be added later in Bug 102039 and Bug 102040.
3291
3292         * rendering/RenderThemeChromiumCommon.cpp:
3293         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Add month and week to the list.
3294
3295 2012-11-13  Eberhard Graether  <egraether@google.com>
3296
3297         checkbox to toggle FPS counter in the inspector's settings
3298         https://bugs.webkit.org/show_bug.cgi?id=99660
3299
3300         Reviewed by Pavel Feldman.
3301
3302         Added a checkbox to the inspector's settings to toggle a FPS counter. The checkbox appears when InspectorClient::canShowFPSCounter() returns true.
3303
3304         No new tests.
3305
3306         * English.lproj/localizedStrings.js:
3307         * inspector/Inspector.json:
3308         * inspector/InspectorClient.h:
3309         (WebCore::InspectorClient::canShowFPSCounter):
3310         (WebCore::InspectorClient::setShowFPSCounter):
3311         (InspectorClient):
3312         * inspector/InspectorPageAgent.cpp:
3313         (PageAgentState):
3314         (WebCore::InspectorPageAgent::enable):
3315         (WebCore::InspectorPageAgent::disable):
3316         (WebCore::InspectorPageAgent::canShowFPSCounter):
3317         (WebCore):
3318         (WebCore::InspectorPageAgent::setShowFPSCounter):
3319         * inspector/InspectorPageAgent.h:
3320         * inspector/front-end/Settings.js:
3321         * inspector/front-end/SettingsScreen.js:
3322         (WebInspector.GenericSettingsTab):
3323         (WebInspector.GenericSettingsTab.prototype.get _showFPSCounterChanged):
3324         * inspector/front-end/inspector.js:
3325         (WebInspector.doLoadedDone):
3326
3327 2012-11-13  Shinya Kawanaka  <shinyak@chromium.org>
3328
3329         Collect necessary features for SelectRuleFeatureSet
3330         https://bugs.webkit.org/show_bug.cgi?id=102160
3331
3332         Reviewed by Dimitri Glazkov.
3333
3334         When pseudo class is changed, we might have to invalidate distribution. To determine whether we should invalidate
3335         distribution, we would like to collect RuleFeature from select attributes.
3336
3337         According to ShadowDOM spec, we have to collect the following pseudo classes: checked, enabled, disabled,
3338         indeterminate, link, target, and visited. We collect them in this patch.
3339
3340         Test: fast/dom/shadow/shadow-select-attribute-featureset.html
3341
3342         * html/shadow/SelectRuleFeatureSet.cpp:
3343         (WebCore::SelectRuleFeatureSet::SelectRuleFeatureSet): Uses int as bitset so that we can use bit operator.
3344         (WebCore::SelectRuleFeatureSet::add):
3345         (WebCore::SelectRuleFeatureSet::clear):
3346         (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector): Collects necessary features from CSSSelector.
3347         * html/shadow/SelectRuleFeatureSet.h:
3348         (WebCore::SelectRuleFeatureSet::hasSelectorForChecked):
3349         (WebCore::SelectRuleFeatureSet::hasSelectorForEnabled):
3350         (WebCore::SelectRuleFeatureSet::hasSelectorForDisabled):
3351         (WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
3352         (WebCore::SelectRuleFeatureSet::hasSelectorForLink):
3353         (WebCore::SelectRuleFeatureSet::hasSelectorForTarget):
3354         (WebCore::SelectRuleFeatureSet::hasSelectorForVisited):
3355         (SelectRuleFeatureSet):
3356         (WebCore::SelectRuleFeatureSet::setSelectRuleFeature):
3357         (WebCore::SelectRuleFeatureSet::hasSelectorFor):
3358         * testing/Internals.cpp:
3359         (WebCore::Internals::hasSelectorForPseudoClassInShadow):
3360         (WebCore):
3361         * testing/Internals.h:
3362         (Internals):
3363         * testing/Internals.idl:
3364
3365 2012-11-13  Andreas Kling  <kling@webkit.org>
3366
3367         Move inline style logic from ElementAttributeData to StyledElement.
3368         <http://webkit.org/b/102120>
3369
3370         Reviewed by Antti Koivisto.
3371
3372         Move all the logic dealing with element inline style from ElementAttributeData to StyledElement.
3373         No difference in behavior, just making ElementAttributeData dumber.
3374
3375         * css/StylePropertySet.cpp:
3376         * css/StylePropertySet.h:
3377         (WebCore::StylePropertySet::hasCSSOMWrapper):
3378         (WebCore::StylePropertySet::cssStyleDeclaration):
3379
3380             Added as complements to ensureCSSStyleDeclaration() for the case where we don't want
3381             to instantiate a CSSOM wrapper unnecessarily.
3382
3383         * dom/StyledElement.h:
3384         (WebCore::StyledElement::inlineStyle):
3385         * dom/ElementAttributeData.cpp:
3386         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
3387         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
3388         (WebCore::ElementAttributeData::reportMemoryUsage):
3389         * dom/ElementAttributeData.h:
3390         (WebCore::ElementAttributeData::inlineStyle):
3391         (ElementAttributeData):
3392
3393             Renamed m_inlineStyleDecl to m_inlineStyle. Finally.
3394
3395         * dom/StyledElement.cpp:
3396         (WebCore::StyledElement::~StyledElement):
3397
3398             Detach the CSSOM wrapper from the inline style if there is one.
3399
3400         (WebCore::StyledElement::ensureMutableInlineStyle):
3401         (WebCore::StyledElement::style):
3402
3403             Renamed ensureInlineStyle() to ensureMutableInlineStyle() since that's what it
3404             actually does. Update call sites accordingly.
3405
3406         (WebCore::StyledElement::inlineStyleCSSOMWrapper):
3407
3408             Added helper to get the CSSOM wrapper for the element's inline style if there is one.
3409
3410         (WebCore::StyledElement::styleAttributeChanged):
3411
3412             Do the work to parse/update/replace the inline style attribute here instead of
3413             in an ElementAttributeData method.
3414
3415         (WebCore::StyledElement::setInlineStyleProperty):
3416         (WebCore::StyledElement::removeInlineStyleProperty):
3417         (WebCore::StyledElement::removeAllInlineStyleProperties):
3418         * editing/ApplyStyleCommand.cpp:
3419         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3420         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3421         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
3422         * editing/ReplaceSelectionCommand.cpp:
3423         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3424         * html/canvas/CanvasStyle.cpp:
3425         (WebCore::currentColor):
3426
3427             s/ensureInlineStyle/ensureMutableInlineStyle/
3428
3429 2012-11-13  Li Yin  <li.yin@intel.com>
3430
3431         fast/forms/file/input-file-write-files.html should cover correct setting value
3432         https://bugs.webkit.org/show_bug.cgi?id=100085
3433
3434         Reviewed by Kentaro Hara.
3435
3436         Fix the GObject and Objective C bindings comparibility issue. Preserving existing
3437         behavior for those may be important in idl.
3438
3439         No new tests, because fast/forms/file/input-file-value.html has covered it.
3440
3441         * html/HTMLInputElement.idl:
3442
3443 2012-11-13  KyungTae Kim  <ktf.kim@samsung.com>
3444
3445         [EFL] Fix build warning in NetworkStateNotifierEfl.cpp
3446         https://bugs.webkit.org/show_bug.cgi?id=102061
3447
3448         Reviewed by Gyuyoung Kim.
3449
3450         The second argument for NLMSG_OK needs to be unsigned to avoid the -Wsign-compare warning.
3451
3452         * platform/network/efl/NetworkStateNotifierEfl.cpp:
3453         (WebCore::readSocketCallback):
3454
3455 2012-11-13  Sami Kyostila  <skyostil@chromium.org>
3456
3457         Don't mark scrolling contents as dirty if RenderLayerBacking is going away
3458         https://bugs.webkit.org/show_bug.cgi?id=101947
3459
3460         Reviewed by Simon Fraser.
3461
3462         When a scrolling contents graphics layer is created or destroyed, the
3463         associated graphics layer is marked as needing display because some of
3464         the painted content may have migrated between the primary graphics layer
3465         and the scrolling layer.
3466
3467         This causes a problem when the RenderLayerBacking is being destroyed,
3468         because setNeedsDisplay() needs to check from the compositor whether to
3469         track repaints or not. If the RenderLayerBacking is being destroyed, the
3470         value returned by compositor() is garbage and this causes a crash.
3471
3472         This patch fixes the problem by making RenderLayer::compositor() return a null
3473         pointer when the renderer no longer has a view.
3474
3475         Covered by existing layout tests in compositing/overflow/.
3476
3477         * rendering/RenderLayer.cpp:
3478         (WebCore::RenderLayer::compositor):
3479
3480 2012-11-13  Erik Arvidsson  <arv@chromium.org>
3481
3482         Update DOMException name: InvalidCharacterError
3483         https://bugs.webkit.org/show_bug.cgi?id=102128
3484
3485         Reviewed by Darin Adler.
3486
3487         Patch 5 of 25 to update DOMException name to match the spec and Firefox.
3488
3489         Updated existing tests.
3490
3491         * dom/DOMCoreException.cpp:
3492
3493 2012-11-13  Joshua Bell  <jsbell@chromium.org>
3494
3495         IndexedDB: Run multiple tasks per transaction tick
3496         https://bugs.webkit.org/show_bug.cgi?id=97738
3497
3498         Reviewed by Tony Chang.
3499
3500         Process multiple tasks from the pending queue(s) when the timer fires. The
3501         task may initiate new tasks that change which queue is active (e.g. indexing
3502         operations) so the loop must re-check each tick which queue to use.
3503
3504         In DumpRenderTree, time to make 20k puts/20k gets dropped from 3.2s to 2.0s (-37%);
3505         in Chromium's content_shell, the time dropped from 8.1s to 4.6s (-42%).
3506
3507         No new tests - just perf improvements, covered by (nearly) all existing IDB tests.
3508
3509         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3510         (WebCore::IDBTransactionBackendImpl::abort): Use takeFirst() to clean up code.
3511         (WebCore::IDBTransactionBackendImpl::taskTimerFired): Process as many tasks as are available.
3512
3513 2012-11-13  Elliott Sprehn  <esprehn@chromium.org>
3514
3515         Disable frame loading instead of throwing exceptions on subtree modifications in ChildFrameDisconnector
3516         https://bugs.webkit.org/show_bug.cgi?id=102012
3517