Change visual look of placeholder
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-16  Jon Lee  <jonlee@apple.com>
2
3         Change visual look of placeholder
4         https://bugs.webkit.org/show_bug.cgi?id=102149
5         <rdar://problem/12695566>
6
7         Reviewed by Darin Adler.
8
9         Move the button to the lower-right corner. Move the theming into
10         RenderSnapshottedPlugin for now. Eventually we will want to migrate to using the
11         shadow DOM instead, and the metrics of the button are needed for click passthrough.
12
13         * Resources/startButton.png: Added.
14         * Resources/startButton@2x.png: Added.
15         * Resources/startButtonPressed.png: Added.
16         * Resources/startButtonPressed@2x.png: Added.
17         * WebCore.xcodeproj/project.pbxproj: Add button images.
18
19         Maintain variables to track whether the mouse is over the button, and the rect
20         for the button. If the user clicks in the rect, we render a pressed button.
21         * rendering/RenderSnapshottedPlugIn.cpp:
22         (WebCore): Add named constant for bottom and right padding of the button.
23         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
24         (WebCore::RenderSnapshottedPlugIn::paintReplaced):
25         (WebCore::startButtonImage): Returns button image.
26         (WebCore::startButtonPressedImage): Returns pressed button image.
27         (WebCore::RenderSnapshottedPlugIn::paintButton): Draw the button image in the
28         lower right hand corner, but only if we are active or hovered.
29         (WebCore::RenderSnapshottedPlugIn::repaintButton): Stubbed to call repaint().
30         (WebCore::RenderSnapshottedPlugIn::handleEvent): Repaint the button if we are
31         hovering over the plugin rect. With a mouse down event, calculate whether the
32         mouse position is within the button rect.
33         (WebCore::RenderSnapshottedPlugIn::layout): Cache the rect representing the button
34         contents.
35         * rendering/RenderSnapshottedPlugIn.h:
36
37         Remove theming function for now.
38         * rendering/RenderTheme.h:
39         (RenderTheme):
40         * rendering/RenderThemeMacShared.h:
41         * rendering/RenderThemeMacShared.mm:
42
43 2012-11-16  Eric Seidel  <eric@webkit.org>
44
45         Deploy ScriptWrappable to more always-wrapped objects
46         https://bugs.webkit.org/show_bug.cgi?id=102539
47
48         Reviewed by Adam Barth.
49
50         Add the ScriptWrappable baseclass to:
51         CSSStyleDeclaration (anttik tells me these should only be used from JS, even though some old Editing code used to use them)
52         ClientRect (element.getBoundingClientRects)
53         Event (Not all events end up wrapped, but any which live past dispatch do)
54         NodeList (this covers Static and Dynamic node list types, like document.all)
55         HTMLCollection (separate from NodeList, for things like table.rows)
56         Storage (for window.storage, always wrapped)
57         XMLHttpRequest (always wrapped, created from JS)
58
59         This should be a small memory savings as the inline pointer is only 4-8 bytes
60         instead of the hashmap entry which would be 8-16.  This may also show up
61         on benchmarks which repeatedly access these objects (like window.storage).
62
63         These were found by adding a couple lines of logging-code to
64         WebCore::createWrapper when we were in the main world, but took the
65         HashMap (instead of inline) storage path. I used sort and uniq -c
66         to find the most-frequently wrapped objects (while surfing
67         a few common sites) and came up with this list.  There are still a few
68         more complicated objects (like CSSStyleDeclaration) which may benifit
69         from inline-wrapper-access and will be covered in a later patch.
70
71         * css/CSSStyleDeclaration.h:
72         * dom/ClientRect.h:
73         * dom/Event.h:
74         * dom/NodeList.h:
75         * html/HTMLCollection.h:
76         * storage/Storage.h:
77         * xml/XMLHttpRequest.h:
78
79 2012-11-16  Jon Lee  <jonlee@apple.com>
80
81         Simulated events instances do not all have the same underlying event
82         https://bugs.webkit.org/show_bug.cgi?id=102468
83         <rdar://problem/12716331>
84
85         Reviewed by Alexey Proskuryakov.
86
87         The PassRefPtr with the underlying event is included as an argument for the mouse
88         down, up, and click events. But the PassRefPtr loses its underlying pointer after
89         the first simulated mouse down event because it gets assigned to that event's
90         private m_underlyingEvent variable. We therefore send NULL to the other events.
91
92         The fix is for this and related functions to pass the raw pointer.
93
94         A layout test is not possible to put together because the call sites that use simulated
95         events with an underlying event do not send mouse events, and those that send mouse
96         events have a NULL underlying event.
97
98         * dom/EventDispatcher.cpp:
99         (WebCore::EventDispatcher::dispatchSimulatedClick): Require passing in the raw pointer.
100         * dom/EventDispatcher.h:
101         * dom/Node.cpp:
102         (WebCore::Node::dispatchSimulatedClick): Ditto.
103         * dom/Node.h:
104
105 2012-11-16  Patrick Gansterer  <paroga@webkit.org>
106
107         Build fix for WinCE after r134936.
108
109         * platform/network/win/CookieJarWin.cpp:
110         (WebCore::cookieRequestHeaderFieldValue):
111
112 2012-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
113
114         Unreviewed, rolling out r134986.
115         http://trac.webkit.org/changeset/134986
116         https://bugs.webkit.org/show_bug.cgi?id=102110
117
118         Triggered ASSERT in fast/frames/seamless/seamless-inherited-
119         origin.html.
120
121         * css/StyleResolver.cpp:
122         (WebCore::StyleResolver::StyleResolver):
123         (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
124         (WebCore::collectCSSOMWrappers):
125         * css/StyleResolver.h:
126         (StyleResolver):
127         * dom/Document.cpp:
128         (WebCore::Document::setCompatibilityMode):
129         * dom/DocumentStyleSheetCollection.cpp:
130         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
131         (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
132         (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
133         (WebCore):
134         (WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
135         (WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
136         (WebCore::DocumentStyleSheetCollection::addUserSheet):
137         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
138         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
139         * dom/DocumentStyleSheetCollection.h:
140         (DocumentStyleSheetCollection):
141         (WebCore::DocumentStyleSheetCollection::documentUserSheets):
142         * page/PageGroup.cpp:
143         (WebCore::PageGroup::addUserStyleSheetToWorld):
144         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
145         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
146         (WebCore::PageGroup::removeAllUserContent):
147         (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
148         * page/PageGroup.h:
149         (PageGroup):
150
151 2012-11-16  Michael Pruett  <michael@68k.org>
152
153         IndexedDB: Propagate DOMRequestState to IndexedDB binding utility functions
154         https://bugs.webkit.org/show_bug.cgi?id=102430
155
156         Reviewed by Adam Barth.
157
158         DOMRequestState is currently propagated to some but not all of
159         the IndexedDB binding utility functions. In order to implement
160         these functions for JSC, this state must be propagated to all
161         of the utility functions.
162
163         Tests: storage/indexeddb/*
164
165         * Modules/indexeddb/IDBCursor.cpp:
166         (WebCore::IDBCursor::update):
167         (WebCore::IDBCursor::setValueReady):
168         * Modules/indexeddb/IDBObjectStore.cpp:
169         (WebCore::generateIndexKeysForValue):
170         (WebCore::IDBObjectStore::put):
171         (WebCore):
172         * Modules/indexeddb/IDBRequest.cpp:
173         (WebCore::IDBRequest::onSuccess):
174         (WebCore::IDBRequest::dispatchEvent):
175         * Modules/indexeddb/IDBRequest.h:
176         (WebCore::IDBRequest::requestState):
177         (IDBRequest):
178         * bindings/v8/IDBBindingUtilities.cpp:
179         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
180         (WebCore::serializeIDBValue):
181         (WebCore::injectIDBKeyIntoScriptValue):
182         * bindings/v8/IDBBindingUtilities.h:
183         (WebCore):
184
185 2012-11-16  Byungwoo Lee  <bw80.lee@samsung.com>
186
187         Rebaselined run-bindings-tests.
188         https://bugs.webkit.org/show_bug.cgi?id=102523
189
190         Reviewed by Dimitri Glazkov.
191
192         Expected results need to be updated after r134931
193
194         * bindings/scripts/test/JS/JSTestObj.cpp:
195         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
196         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
197         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
198         * bindings/scripts/test/V8/V8TestObj.cpp:
199         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
200         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
201         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
202
203 2012-11-16  Pratik Solanki  <psolanki@apple.com>
204
205         For single element arrays use the pointer into the CFDataRef instead of copying data
206         https://bugs.webkit.org/show_bug.cgi?id=102306
207         <rdar://problem/12267471>
208
209         Reviewed by Alexey Proskuryakov.
210
211         We generally copy the data received from CFNetwork into our own buffers. But if the
212         CFArrayRef has exactly one CFDataRef inside it, then we can just hold on to the CFDataRef
213         and access its memory directly and avoid making a copy.
214
215         This also moves the creation of PurgeableBuffer from CachedResource to SharedBuffer.
216         SharedBuffer::createPurgeableBuffer() will avoid creating PurgeableBuffer when the
217         SharedBuffer is backed by a NSData/CFDataRef and when we want to optimize and directly use
218         the memory in the data array.
219
220         No new tests because no change in functionality.
221
222         * loader/ResourceBuffer.cpp:
223         (WebCore::ResourceBuffer::createPurgeableBuffer): Added.
224         * loader/ResourceBuffer.h:
225         * loader/cache/CachedResource.cpp:
226         (WebCore::CachedResource::makePurgeable):
227         * platform/SharedBuffer.cpp:
228         (WebCore::SharedBuffer::createPurgeableBuffer): Added.
229         (WebCore::SharedBuffer::data):
230         * platform/SharedBuffer.h:
231         * platform/cf/SharedBufferCF.cpp:
232         (WebCore::SharedBuffer::platformData): Use reinterpret_cast instead of C-style cast.
233         (WebCore::SharedBuffer::maybeTransferPlatformData): Use reinterpret_cast instead of C-style cast.
234         (WebCore::SharedBuffer::singleDataArrayBuffer): Added.
235
236 2012-11-16  Antti Koivisto  <antti@apple.com>
237
238         REGRESSION(r129644): User StyleSheet not applying
239         https://bugs.webkit.org/show_bug.cgi?id=102110
240
241         Reviewed by Andreas Kling.
242
243         Injected stylesheets added as UserStyleAuthorLevel fail to apply. r129644 implicitly assumed that
244         such things don't exists but on Chromium addUserStyleSheet() confusingly uses them.
245         
246         The patch adds injected author stylesheets to DocumentStyleSheetCollection::activeStyleSheets().
247         It also generally cleans up the code around injected and user stylesheets.
248
249         Tests: userscripts/user-script-and-stylesheet.html
250                userscripts/user-stylesheet-invalidate.html
251
252         * css/StyleResolver.cpp:
253         (WebCore::StyleResolver::StyleResolver):
254         (WebCore::StyleResolver::collectRulesFromUserStyleSheets):
255         (WebCore::collectCSSOMWrappers):
256         * css/StyleResolver.h:
257         (StyleResolver):
258         * dom/Document.cpp:
259         (WebCore::Document::setCompatibilityMode):
260         * dom/DocumentStyleSheetCollection.cpp:
261         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
262         (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
263         (WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
264         (WebCore):
265         (WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
266         (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
267         (WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
268         (WebCore::DocumentStyleSheetCollection::addUserSheet):
269         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
270         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
271         * dom/DocumentStyleSheetCollection.h:
272         (WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
273         (DocumentStyleSheetCollection):
274         * page/PageGroup.cpp:
275         (WebCore::PageGroup::addUserStyleSheetToWorld):
276         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
277         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
278         (WebCore::PageGroup::removeAllUserContent):
279         (WebCore::PageGroup::invalidatedInjectedStyleSheetCacheInAllFrames):
280         * page/PageGroup.h:
281         (PageGroup):
282
283 2012-11-16  Andreas Kling  <akling@apple.com>
284
285         StyleResolver: Only input elements need equal "readonly" attribute for style sharing.
286         <http://webkit.org/b/102536>
287
288         Reviewed by Antti Koivisto.
289
290         Move the comparison of the "readonly" attribute into canShareStyleWithControl() since it's only
291         relevant for sharing style between <input> elements.
292
293         Also skip attribute comparisons for form control elements that share the same ElementAttributeData.
294
295         * css/StyleResolver.cpp:
296         (WebCore::StyleResolver::canShareStyleWithControl):
297         (WebCore::haveIdenticalStyleAffectingAttributes):
298
299 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
300
301         Unreviewed, rolling out r134867.
302         http://trac.webkit.org/changeset/134867
303         https://bugs.webkit.org/show_bug.cgi?id=102544
304
305         Broke security fuzzier test (heap-buffer-overflow) (Requested
306         by bfulgham on #webkit).
307
308         * platform/audio/Biquad.cpp:
309         (WebCore::Biquad::process):
310
311 2012-11-16  Tommy Widenflycht  <tommyw@google.com>
312
313         MediaStream API: Update RTCPeerConnection states to match the latest editors draft
314         https://bugs.webkit.org/show_bug.cgi?id=102382
315
316         Reviewed by Adam Barth.
317
318         Updating readyState & iceState, and adding iceGatheringState.
319         Also safeguarding the event timer callback.
320
321         Patch covered by existing tests.
322
323         * Modules/mediastream/RTCPeerConnection.cpp:
324         (WebCore::RTCPeerConnection::RTCPeerConnection):
325         (WebCore::RTCPeerConnection::createOffer):
326         (WebCore::RTCPeerConnection::createAnswer):
327         (WebCore::RTCPeerConnection::setLocalDescription):
328         (WebCore::RTCPeerConnection::localDescription):
329         (WebCore::RTCPeerConnection::setRemoteDescription):
330         (WebCore::RTCPeerConnection::remoteDescription):
331         (WebCore::RTCPeerConnection::updateIce):
332         (WebCore::RTCPeerConnection::addIceCandidate):
333         (WebCore::RTCPeerConnection::readyState):
334         (WebCore::RTCPeerConnection::iceGatheringState):
335         (WebCore):
336         (WebCore::RTCPeerConnection::iceState):
337         (WebCore::RTCPeerConnection::addStream):
338         (WebCore::RTCPeerConnection::close):
339         (WebCore::RTCPeerConnection::didChangeIceGatheringState):
340         (WebCore::RTCPeerConnection::stop):
341         (WebCore::RTCPeerConnection::changeReadyState):
342         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
343         * Modules/mediastream/RTCPeerConnection.h:
344         (RTCPeerConnection):
345         * Modules/mediastream/RTCPeerConnection.idl:
346         * dom/EventNames.h:
347         (WebCore):
348         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
349         (RTCPeerConnectionHandlerClient):
350         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
351         (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
352         (WebCore):
353         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
354         (RTCPeerConnectionHandlerChromium):
355
356 2012-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
357
358         Unreviewed, rolling out r134973.
359         http://trac.webkit.org/changeset/134973
360         https://bugs.webkit.org/show_bug.cgi?id=99340
361
362         Broke compile on at least Mac and Linux.
363
364         * WebCore.gyp/WebCore.gyp:
365         * WebCore.gypi:
366         * loader/CookieJar.cpp:
367         * loader/chromium/CookieJarChromium.cpp: Renamed from Source/WebKit/chromium/src/FrameNetworkingContextImpl.cpp.
368         (WebCore):
369         (WebCore::setCookies):
370         (WebCore::cookies):
371         (WebCore::cookieRequestHeaderFieldValue):
372         (WebCore::cookiesEnabled):
373         (WebCore::getRawCookies):
374         (WebCore::deleteCookie):
375         (WebCore::getHostnamesWithCookies):
376         (WebCore::deleteCookiesForHostname):
377         (WebCore::deleteAllCookies):
378         * platform/chromium/PlatformSupport.h:
379         (WebCore):
380         (PlatformSupport):
381         * platform/network/NetworkingContext.h:
382         * platform/network/chromium/CookieJarChromium.cpp: Removed.
383
384 2012-11-16  Martin Robinson  <mrobinson@igalia.com>
385
386         [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
387         https://bugs.webkit.org/show_bug.cgi?id=101843
388
389         Reviewed by Gustavo Noronha Silva.
390
391         Make GtkAuthenticationDialog more general, so that it can be subclassed in 
392         WebKit2. We cannot use the WebCore authentication-related classes directly there.
393
394         No new tests. This patch does not change behavior.
395
396         * platform/gtk/GtkAuthenticationDialog.cpp:
397         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Remove an unused include and reorder
398         some field initializers.
399         (WebCore::GtkAuthenticationDialog::authenticate): Now handle both the okay and cancel case here. This
400         makes it simpler to subclass.
401         (WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback): Handle fetching the username
402         and password here, so that it can be shared with subclasses.
403         * platform/gtk/GtkAuthenticationDialog.h: Make some methods virtual and protected so they can be
404         subclasses.
405
406 2012-11-16  Mark Pilgrim  <pilgrim@chromium.org>
407
408         [Chromium] Remove cookie-related functions from PlatformSupport
409         https://bugs.webkit.org/show_bug.cgi?id=99340
410
411         Reviewed by Adam Barth.
412
413         Move cookie-related functions out of PlatformSupport and implement
414         new PlatformCookieJar interface via NetworkContext.
415
416         * WebCore.gyp/WebCore.gyp:
417         * WebCore.gypi:
418         * loader/CookieJar.cpp:
419         * loader/chromium/CookieJarChromium.cpp: Removed.
420         * platform/chromium/PlatformSupport.h:
421         (WebCore):
422         (PlatformSupport):
423         * platform/network/NetworkingContext.h:
424         (WebKit):
425         (NetworkingContext):
426         * platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.
427         (WebCore::setCookiesFromDOM):
428         (WebCore::cookiesForDOM):
429         (WebCore::cookieRequestHeaderFieldValue):
430         (WebCore::cookiesEnabled):
431         (WebCore::getRawCookies):
432         (WebCore::deleteCookie):
433         (WebCore::getHostnamesWithCookies):
434         (WebCore::deleteCookiesForHostname):
435         (WebCore::deleteAllCookies):
436
437 2012-11-16  Byungwoo Lee  <bw80.lee@samsung.com>
438
439         Fix assertion bug of build fix r134961
440         https://bugs.webkit.org/show_bug.cgi?id=102533
441
442         Reviewed by Martin Robinson.
443
444         Assertion condition should be '!d->m_currentWebChallenge.isNull()'
445
446         * platform/network/soup/ResourceHandleSoup.cpp:
447         (WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):
448
449 2012-11-16  Tommy Widenflycht  <tommyw@google.com>
450
451         [chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
452         https://bugs.webkit.org/show_bug.cgi?id=102386
453
454         Reviewed by Adam Barth.
455
456         Existing tests expanded to cover patch.
457
458         * platform/mediastream/RTCDataChannelDescriptor.cpp:
459         (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
460         (WebCore::RTCDataChannelDescriptor::readyStateChanged):
461         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
462         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
463         (WebCore):
464         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
465         (WebKit):
466         (RTCPeerConnectionHandlerChromium):
467
468 2012-11-16  Scott Violet  <sky@chromium.org>
469
470         [chromium] Copy linux theme related files to default
471         https://bugs.webkit.org/show_bug.cgi?id=102403
472
473         Reviewed by Tony Chang
474
475         Transitional patch that copies linux WebThemeEngine to default directory.
476
477         No new tests, refactoring only.
478
479         * WebCore.gyp/WebCore.gyp: Update compile rules when use_default_render_theme is set.
480         * WebCore.gypi: Adds new files.
481         * platform/chromium/PlatformSupport.h:
482         * platform/chromium/PlatformThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.cpp.
483         * platform/chromium/PlatformThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.h.
484         * platform/chromium/ScrollbarThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp.
485         * platform/chromium/ScrollbarThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.h.
486         * rendering/RenderThemeChromiumDefault.cpp: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.cpp.
487         * rendering/RenderThemeChromiumDefault.h: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.h.
488
489 2012-11-16  Alec Flett  <alecflett@chromium.org>
490
491         IndexedDB: add missing 'explicit' and fix backing store release
492         https://bugs.webkit.org/show_bug.cgi?id=102450
493
494         Reviewed by Tony Chang.
495
496         A inconsequential regression was introduced in http://trac.webkit.org/changeset/134129
497         which resulted in objects sticking around a bit longer than
498         expected. This makes sure the LevelDBTransaction is released
499         at the moment of commit/rollback rather than when IDBTransactionBackendImpl
500         is destroyed.
501
502         No new tests, this is just internal state that will affect
503         some future refactoring.
504
505         * Modules/indexeddb/IDBBackingStore.h:
506         (Cursor):
507         (Transaction):
508         (WebCore::IDBBackingStore::Transaction::reset):
509         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
510         (WebCore::IDBTransactionBackendImpl::abort):
511         (WebCore::IDBTransactionBackendImpl::commit):
512
513 2012-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
514
515         [Chromium] One last tweak to WebCore.gypi to make Win build not sad.
516
517         * WebCore.gypi: Removed one last mention of accessibility/gtk file.
518
519 2012-11-16  Robert Flack  <flackr@chromium.org>
520
521         Handle gesture events on scrollbars.
522         https://bugs.webkit.org/show_bug.cgi?id=101516
523
524         Reviewed by Antonio Gomes.
525
526         Adds a gesture event handler to scrollbars and sends gestures beginning
527         over a scrollbar to this handler to allow touch scrolling scrollbars.
528
529         Test: fast/events/touch/gesture/gesture-scrollbar.html
530
531         * page/EventHandler.cpp:
532         (WebCore::EventHandler::clear):
533         (WebCore::EventHandler::handleGestureEvent):
534         (WebCore::EventHandler::isScrollbarHandlingGestures):
535         (WebCore):
536         * page/EventHandler.h:
537         (EventHandler):
538         * platform/Scrollbar.cpp:
539         (WebCore::Scrollbar::Scrollbar):
540         (WebCore):
541         (WebCore::Scrollbar::gestureEvent):
542         (WebCore::Scrollbar::mouseMoved):
543         (WebCore::Scrollbar::mouseUp):
544         (WebCore::Scrollbar::mouseDown):
545         * platform/Scrollbar.h:
546         (WebCore):
547         (Scrollbar):
548         * platform/ScrollbarTheme.h:
549         (WebCore::ScrollbarTheme::hitTest):
550         * platform/ScrollbarThemeComposite.cpp:
551         (WebCore::ScrollbarThemeComposite::hitTest):
552         * platform/ScrollbarThemeComposite.h:
553         (ScrollbarThemeComposite):
554         * platform/qt/ScrollbarThemeQStyle.cpp:
555         (WebCore::ScrollbarThemeQStyle::hitTest):
556         * platform/qt/ScrollbarThemeQStyle.h:
557         (ScrollbarThemeQStyle):
558
559 2012-11-16  Xianzhu Wang  <wangxianzhu@chromium.org>
560
561         [Chromium-Android] Stack overflow in MediaControlsChromiumAndroid.cpp
562         https://bugs.webkit.org/show_bug.cgi?id=102444
563
564         Reviewed by Adam Barth.
565
566         No new tests. Have been covered by many existing layout tests.
567
568         * html/shadow/MediaControlsChromiumAndroid.cpp:
569         (WebCore::MediaControls::create): Calls createControls instead of itself.
570
571 2012-11-16  Andreas Kling  <akling@apple.com>
572
573         StyleResolver: Optimize sharing candidate evaluation for elements with shared attribute data.
574         <http://webkit.org/b/102507>
575
576         Reviewed by Antti Koivisto.
577
578         When evaluating two elements as potential style sharing candidate, we have a whole bunch of code
579         comparing the various attributes that would prevent sharing.
580
581         If the two elements both share the same ElementAttributeData, we can skip all those checks
582         since they are guaranteed to have equal attributes.
583
584         Cuts the time spent in canShareStyleWithElement() by 25% on the HTML5 spec at <http://whatwg.org/c>.
585
586         * css/StyleResolver.cpp:
587         (WebCore::haveIdenticalStyleAffectingAttributes):
588         (WebCore::StyleResolver::canShareStyleWithElement):
589
590 2012-11-16  Byungwoo Lee  <bw80.lee@samsung.com>
591
592         [EFL][GTK] Build fix after r134955
593         https://bugs.webkit.org/show_bug.cgi?id=102527
594
595         Reviewed by Martin Robinson.
596
597         Fix the EFL,GTK debug bulid fails after r134955.
598
599         * platform/network/soup/ResourceHandleSoup.cpp:
600         (WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):
601
602 2012-11-15  Alexey Proskuryakov  <ap@apple.com>
603
604         Private Browsing is a per-page setting that sets a global value
605         https://bugs.webkit.org/show_bug.cgi?id=67870
606
607         Reviewed by Sam Weinig.
608
609         Make ResourceHandle{Mac,CFNet} use context to access storage session.
610
611         * WebCore.exp.in: We track less session state in WebCore now, so we need fewer
612         exports.
613
614         * loader/FrameNetworkingContext.h: Added an OVERRIDE.
615
616         * page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): WebCore
617         no longer keeps track of a globally enabled private CFNetwork storage session.
618
619         * platform/CookiesStrategy.h: Added defaultCookieStorage(). Some cookie jar methods
620         don't have a NetworkingContext pointer, and have to use whatever a client expects
621         them to do. Perhaps we should move those methods away from WebCore eventually.
622
623         * platform/network/NetworkingContext.h: Added storageSession().
624
625         * platform/network/ResourceHandle.h: Removed sttaic methods for dealing with global
626         sessions.
627
628         * platform/network/ResourceHandleInternal.h: Added m_storageSession. We need to
629         remember it post-creation to do things in willSendRequest. Alternatively, we could
630         keep a reference to NetworkingContext itself.
631
632         * platform/network/cf/CookieJarCFNet.cpp:
633         (WebCore::setCookiesFromDOM): currentCFHTTPCookieStorage now needs a context,
634         there is no globally current one any more. Also, we don't really expect cookie
635         stirage to be 0 when not using NSURLConnection.
636         (WebCore::cookiesForDOM): Ditto.
637         (WebCore::cookieRequestHeaderFieldValue): Ditto.
638         (WebCore::cookiesEnabled): Ditto.
639         (WebCore::getRawCookies): Ditto.
640         (WebCore::deleteCookie): Ditto.
641         (WebCore::getHostnamesWithCookies): Ditto.
642         (WebCore::deleteCookiesForHostname): Ditto.
643         (WebCore::deleteAllCookies): Ditto.
644         * platform/network/cf/CookieStorageCFNet.cpp:
645         (WebCore::currentCFHTTPCookieStorage): Use a context.
646         (WebCore::defaultCFHTTPCookieStorage): Except for Windows-only override session,
647         this is implemented in a strategy.
648         (WebCore::overridenCookieStorage): Exposed the override for WebKit use on Windows.
649
650         * platform/network/cf/CookieStorageCFNet.h: Ditto.
651
652         * platform/network/cf/ResourceHandleCFNet.cpp:
653         (WebCore::willSendRequest): Use storage session from the context, not global one.
654         (WebCore::makeFinalRequest): Merged this into the only remaining caller. This
655         function didn't really make any sense on its own.
656         (WebCore::shouldRelaxThirdPartyCookiePolicy): Factored out of createCFURLConnection
657         to match Mac.
658         (WebCore::ResourceHandle::createCFURLConnection): While merging makeFinalRequest()
659         in, removed some seemingly nonsensical code that was getting and immediately re-applying
660         cookie storage accept policy.
661         (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest.
662         (WebCore::ResourceHandle::willSendRequest): Apply the stored session, not global one.
663         (WebCore::ResourceHandle::storageSession): An accessor for static methods that cannot
664         access "d".
665         (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest.
666         (WebCore::ResourceHandle::willLoadFromCache): Don't call makeFinalRequest here.
667         It didn't match Mac, and nothing in makeFinalRequest should have affected the result.
668
669         * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest):
670         This function used to apply current storage session to every request for no apparent
671         reason.
672
673         * platform/network/mac/CookieJarMac.mm:
674         (WebCore::cookiesForDOM): Changed to pass context to currentCFHTTPCookieStorage.
675         (WebCore::cookieRequestHeaderFieldValue): Ditto.
676         (WebCore::setCookiesFromDOM): Ditto.
677         (WebCore::cookiesEnabled): Ditto.
678         (WebCore::getRawCookies): Ditto.
679         (WebCore::deleteCookie): Ditto.
680         (WebCore::getHostnamesWithCookies): Ditto.
681         (WebCore::deleteCookiesForHostname): Ditto.
682         (WebCore::deleteAllCookies): Ditto.
683         * platform/network/mac/ResourceHandleMac.mm:
684         (WebCore::shouldRelaxThirdPartyCookiePolicy): There was no need to special case
685         null currentCFHTTPCookieStorage, WKSI handles that internally. Added a context
686         argument, so that the function can access current session.
687         (WebCore::ResourceHandle::createNSURLConnection): Updated for other code changes.
688         (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest.
689         (WebCore::ResourceHandle::willLoadFromCache): Style fix.
690         (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession()
691         for use in willSendRequest. 
692         (WebCore::ResourceHandle::willSendRequest): Use stored session, not global one.
693
694 2012-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
695
696         [Chromium] Land a proper fix for r134939.
697
698         * WebCore.gyp/WebCore.gyp: Added exclusion for "atk".
699         * WebCore.gypi: Put the accessibility/atk directory back into WebCore.gypi.
700
701 2012-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
702
703         [Chromium] Just yank the whole accessibility/atk dir out of WebCore.gypi.
704
705 2012-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
706
707         [Chromium] Updated WebCore.gypi after r134939.
708
709         * WebCore.gypi: Renamed acessibility/gtk to accessibility/atk.
710
711 2012-11-16  Martin Robinson  <mrobinson@igalia.com>
712
713         [GTK] Move CredentialBackingStore usage from GtkAuthenticationDialog to ResourceHandleSoup
714         https://bugs.webkit.org/show_bug.cgi?id=101840
715
716         Reviewed by Gustavo Noronha Silva.
717
718         Make ResourceHandleSoup aware of per-session CredentialStorage and persistent CredentialStorage.
719         Persistent credential storage interaction is moved from GtkAuthenticationDialog, so that it can
720         be used whether or not GtkAuthenticationDialog is used or not. We try to properly handle redirects
721         in the manner that the CFNet backend does.
722
723         No new tests. There are tests for this behavior, but they cannot be activated until we finish
724         plumbing this through to the API layer. Once that patch lands, the tests will be turned on.
725
726         * platform/gtk/GtkAuthenticationDialog.cpp: No longer store credentials into the persistent
727         storage manually, instead rely on ResourceHandleSoup. Also, we no longer get proposed credentials
728         from the persistent storage here as well. They are pre-loaded by the ResourceHanndle.
729         * platform/gtk/GtkAuthenticationDialog.h: Remove callbacks and members associated with saving
730         credentials to the persistent credential store.
731         * platform/network/ResourceHandle.h:
732         (ResourceHandle): Add a method which is used to continue asynchronously after looking for
733         proposed credentials in the persistent credential store.
734         * platform/network/ResourceHandleInternal.h: Add a member which tracks persistent credentials to be added once we know
735         an authentication succeeded.
736         * platform/network/gtk/CredentialBackingStore.cpp:
737         (CredentialForChallengeAsyncReadyCallbackData): Added this data structure used for asynchronous access
738         of stored credentials.
739         (WebCore::credentialForChallengeAsyncReadyCallback): Ditto for this callback.
740         (WebCore::CredentialBackingStore::credentialForChallenge): Make this method asynchronous.
741         * platform/network/gtk/CredentialBackingStore.h:
742         (CredentialBackingStore): Update method signatures for for making credentialForChallenge asynchronous.
743         * platform/network/soup/AuthenticationChallenge.h:
744         (WebCore::AuthenticationChallenge::setProposedCredential): Added a setter so that ResourceHandleSoup
745         can set proposed credentials from the persistent credential store.
746         * platform/network/soup/ResourceHandleSoup.cpp:
747         (WebCore::gotHeadersCallback): For GTK+ save any pending credential in the persistent credential storage
748         if the authentication succeeded.
749         (WebCore::applyAuthenticationToRequest): Added this method which generically embeds stored credentials
750         in the request URI. This is the method that Soup uses to override any soup-stored session credential.
751         (WebCore::restartedCallback): Strip credentials for requests that span a security origin. Handle
752         authenticating requests from the session store.
753         (WebCore::createSoupRequestAndMessageForHandle): Make the local request reference mutable.
754         (WebCore::ResourceHandle::start): Remove some code which is now part of applyAuthenticationToRequest.
755         Call applyAuthenticationToRequest and clear the user and password members like the CFNet backend does.
756         (WebCore::getCredentialFromPersistentStoreCallback): Added this callback for getting persistently stored credentials.
757         (WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge): Split out didReceiveAuthenticationChallenge
758         into this asynchronous bit.
759         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): For GTK+ continue handling this situation after
760         first looking in the persistent credential store.
761         (WebCore::ResourceHandle::receivedCredential): Store session credentials in the session storage, which is
762         at the moment a redundant version of the Soup session storage and also prepare any persistent credentials
763         for storage later (see gotHeadersCallback).
764
765 2012-11-16  Erik Arvidsson  <arv@chromium.org>
766
767         Update DOMException name: TypeMismatchError
768         https://bugs.webkit.org/show_bug.cgi?id=102418
769
770         Reviewed by Kentaro Hara.
771
772         Patch 17 of 25 to update DOMException name to match the spec and Firefox.
773
774         Updated existing tests.
775
776         * dom/DOMCoreException.cpp:
777         (WebCore):
778         * dom/ExceptionCode.h:
779
780 2012-11-16  Balazs Kelemen  <kbalazs@webkit.org>
781
782         Coordinated Graphics: support the "freeze animations" API
783         https://bugs.webkit.org/show_bug.cgi?id=100703
784
785         Reviewed by Noam Rosenthal.
786
787         Typo fix after previous patch.
788
789         No new tests, it's just a typo that only takes effect in the browser.
790
791         * platform/graphics/GraphicsLayerAnimation.cpp:
792         (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
793         Initialize members.
794
795 2012-11-16  Dan Carney  <dcarney@google.com>
796
797         add 7 bit strings capabilities to the v8 binding layer
798         https://bugs.webkit.org/show_bug.cgi?id=91850
799
800         Reviewed by Adam Barth.
801
802         This change enables the v8 binding layer to make use of webkit's
803         8 bit string capabilities. Using 8 bit strings leads to certain
804         benchmark performance improvemnts as can be seen in
805         https://bug-91850-attachments.webkit.org/attachment.cgi?id=163334.
806
807         No new tests.  Test coverage already extensive.
808
809         * bindings/v8/V8PerIsolateData.cpp:
810         (WebCore::V8PerIsolateData::visitExternalStrings):
811         * bindings/v8/V8StringResource.cpp:
812         (StringTraits):
813         (WebCore::false):
814         (WebCore):
815         (WebCore::true):
816         (WebCore::v8StringToWebCoreString):
817         * bindings/v8/V8ValueCache.cpp:
818         (WebCore::makeExternalString):
819         (WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
820         (WebCore):
821         (WebCore::WebCoreStringResourceBase::visitStrings):
822         * bindings/v8/V8ValueCache.h:
823         (WebCoreStringResourceBase):
824         (WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
825         (WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
826         (WebCore::WebCoreStringResourceBase::atomicString):
827         (WebCore::WebCoreStringResourceBase::memoryConsumption):
828         (WebCoreStringResource16):
829         (WebCore::WebCoreStringResource16::WebCoreStringResource16):
830         (WebCore):
831         (WebCoreStringResource8):
832         (WebCore::WebCoreStringResource8::WebCoreStringResource8):
833
834 2012-11-16  Erik Arvidsson  <arv@chromium.org>
835
836         Update DOMException name: InvalidAccessError
837         https://bugs.webkit.org/show_bug.cgi?id=102400
838
839         Reviewed by Kentaro Hara.
840
841         Patch 15 of 25 to update DOMException name to match the spec and Firefox.
842
843         Updated existing tests.
844
845         * dom/DOMCoreException.cpp:
846
847 2012-11-16  Alexandru Chiculita  <achicu@adobe.com>
848
849         [Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
850         https://bugs.webkit.org/show_bug.cgi?id=102414
851
852         Reviewed by Noam Rosenthal.
853
854         Added WebCore classes needed for the WebKit2 implementation of Texture Mapper to keep a reference to the 
855         platform compiled custom filter. It is just used to maintain the life-time of the objects. WebKit2 injects a
856         client in TextureMapperPlatformCompiledProgram and receives a callback when the custom filter program is not
857         used to render any layer on the page. 
858
859         Note that CustomFilterValidatedProgram are reused across multiple elements of the same page. Also, the instances
860         are reused across frames, so animations should reuse the same pre-validated program. In this case, the mechanism is
861         extended and reused in the platform compositor.
862         
863         No new tests, existing tests for CSS Custom Filters already cover this path.
864
865         * CMakeLists.txt:
866         * GNUmakefile.am:
867         * GNUmakefile.list.am:
868         * Target.pri:
869         * WebCore.pri:
870         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
871         (WebCore):
872         * platform/graphics/filters/CustomFilterValidatedProgram.h:
873         (WebCore):
874         (CustomFilterValidatedProgram):
875         * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Added.
876         (WebCore):
877         (WebCore::CustomFilterValidatedProgram::platformCompiledProgram): Platform implementation for creating and deleting the reference.
878         (WebCore::CustomFilterValidatedProgram::platformInit):
879         (WebCore::CustomFilterValidatedProgram::platformDestroy):
880         * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Added.
881         (WebCore):
882         (TextureMapperPlatformCompiledProgramClient):
883         (WebCore::TextureMapperPlatformCompiledProgramClient::ref):
884         (WebCore::TextureMapperPlatformCompiledProgramClient::deref):
885         (TextureMapperPlatformCompiledProgram):
886         Stores a link to a TextureMapperPlatformCompiledProgramClient. It's main purpose is to call unref on the client when
887         the shader is not needed anymore. WebKit2 can use that to delete the corresponding shader from the compositor side.
888         (WebCore::TextureMapperPlatformCompiledProgram::create):
889         (WebCore::TextureMapperPlatformCompiledProgram::setClient): Used by WebKit2 to inject the platform client.
890         (WebCore::TextureMapperPlatformCompiledProgram::client):
891         (WebCore::TextureMapperPlatformCompiledProgram::TextureMapperPlatformCompiledProgram):
892
893 2012-11-16  Andreas Kling  <akling@apple.com>
894
895         Short-circuit Element::hasEquivalentAttributes() if elements share attribute data.
896         <http://webkit.org/b/102498>
897
898         Reviewed by Antti Koivisto.
899
900         Add a fast path to hasEquivalentAttributes() that checks if both elements are using
901         the same ElementAttributeData.
902
903         * dom/Element.cpp:
904         (WebCore::Element::hasEquivalentAttributes):
905
906 2012-11-16  Zeno Albisser  <zeno@webkit.org>
907
908         [Qt] Adding a null pointer check for currentContext to GraphicsContext3DQt.
909         https://bugs.webkit.org/show_bug.cgi?id=102360
910
911         QOpenGLContext::currentContext() will return null, in case there is
912         no current context. Therefore currentContext must be null-checked
913         before it can be reused.
914         Making a context current on a null-surface on the other hand is
915         perfectly possible.
916
917         Reviewed by Kenneth Rohde Christiansen.
918
919         * platform/graphics/qt/GraphicsContext3DQt.cpp:
920         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
921
922 2012-11-16  Eugene Klyuchnikov  <eustas.bug@gmail.com>
923
924         Web Inspector: Workaround to show shortcuts for panels that hasn't been loaded.
925         https://bugs.webkit.org/show_bug.cgi?id=102488
926
927         Reviewed by Vsevolod Vlasov.
928
929         Panels are lazily loaded / instantiated.
930         Panel constructors register keyboard shortcuts.
931
932         When user open shortcuts screen all panel should be loaded.
933         Otherwise some shortcuts will be missing.
934
935         * inspector/front-end/ShortcutsScreen.js: Added callback invokation.
936         * inspector/front-end/inspector.js:
937         Provided callback that loads all panels.
938
939 2012-11-16  Kentaro Hara  <haraken@chromium.org>
940
941         [V8] Remove IsSubType() from CodeGeneratorV8.pm
942         https://bugs.webkit.org/show_bug.cgi?id=102348
943
944         Reviewed by Adam Barth.
945
946         CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.
947
948         No tests. No change in behavior.
949
950         * bindings/scripts/CodeGenerator.pm:
951         (IsSubType):
952         * bindings/scripts/CodeGeneratorJS.pm:
953         (GenerateImplementation):
954         * bindings/scripts/CodeGeneratorV8.pm:
955         (GenerateHeader):
956         (GetInternalFields):
957         (GenerateNormalAttrGetter):
958         (GenerateNormalAttrSetter):
959         (GenerateFunctionCallback):
960         (GenerateImplementationIndexer):
961         (GenerateToV8Converters):
962
963 2012-11-16  Mario Sanchez Prada  <mario@webkit.org>
964
965         [EFL] Share WebKit-Gtk's Accessibility implementation with others WebKit ports.
966         https://bugs.webkit.org/show_bug.cgi?id=99578
967
968         Reviewed by Martin Robinson.
969
970         Renamed WebCore/accessibility/gtk to WebCore/accessibility/atk.
971
972         * GNUmakefile.am:
973         * GNUmakefile.list.am:
974         * accessibility/atk/AXObjectCacheAtk.cpp: Renamed from
975         Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp.
976         * accessibility/atk/AccessibilityObjectAtk.cpp: Renamed from
977         Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp.
978         * accessibility/atk/WebKitAccessibleHyperlink.cpp: Renamed from
979         Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp.
980         * accessibility/atk/WebKitAccessibleHyperlink.h: Renamed from
981         Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h.
982         * accessibility/atk/WebKitAccessibleInterfaceAction.cpp: Renamed
983         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.cpp.
984         * accessibility/atk/WebKitAccessibleInterfaceAction.h: Renamed
985         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.h.
986         * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
987         Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp.
988         * accessibility/atk/WebKitAccessibleInterfaceComponent.h: Renamed
989         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.h.
990         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp: Renamed
991         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp.
992         * accessibility/atk/WebKitAccessibleInterfaceDocument.h: Renamed
993         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h.
994         * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
995         Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp.
996         * accessibility/atk/WebKitAccessibleInterfaceEditableText.h:
997         Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h.
998         * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
999         Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp.
1000         * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:
1001         Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h.
1002         * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
1003         Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp.
1004         * accessibility/atk/WebKitAccessibleInterfaceHypertext.h: Renamed
1005         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.h.
1006         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp: Renamed
1007         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp.
1008         * accessibility/atk/WebKitAccessibleInterfaceImage.h: Renamed from
1009         Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.h.
1010         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
1011         Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp.
1012         * accessibility/atk/WebKitAccessibleInterfaceSelection.h: Renamed
1013         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.h.
1014         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp: Renamed
1015         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp.
1016         * accessibility/atk/WebKitAccessibleInterfaceTable.h: Renamed from
1017         Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.h.
1018         * accessibility/atk/WebKitAccessibleInterfaceText.cpp: Renamed
1019         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp.
1020         * accessibility/atk/WebKitAccessibleInterfaceText.h: Renamed from
1021         Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.h.
1022         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp: Renamed
1023         from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp.
1024         * accessibility/atk/WebKitAccessibleInterfaceValue.h: Renamed from
1025         Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.h.
1026         * accessibility/atk/WebKitAccessibleUtil.cpp: Renamed from
1027         Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.cpp.
1028         * accessibility/atk/WebKitAccessibleUtil.h: Renamed from
1029         Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.h.
1030         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Renamed from
1031         Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp.
1032         * accessibility/atk/WebKitAccessibleWrapperAtk.h: Renamed from
1033         Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.h.
1034
1035 2012-11-16  Shinya Kawanaka  <shinyak@chromium.org>
1036
1037         Changing pseudoClass (:indeterminate) should cause distribution
1038         https://bugs.webkit.org/show_bug.cgi?id=101903
1039
1040         Reviewed by Dimitri Glazkov.
1041
1042         <progress> and <input type="checkbox"> have 'indeterminate' state. When their state is changed, we have to
1043         invalidate distribution if necessary. To check it, we collect a feature that :invalidate is used in select attributes.
1044
1045         For <input>, we also have to see 'type' is changed. According to the spec, :indeterminate should match only
1046         progress element or <input type="checkbox">. So changing 'type' might also change :indeterminate state.
1047
1048         Tests: fast/dom/shadow/pseudoclass-update-indeterminate-input.html
1049                fast/dom/shadow/pseudoclass-update-indeterminate-progress.html
1050
1051         * html/HTMLInputElement.cpp:
1052         (WebCore::HTMLInputElement::updateType):
1053         (WebCore::HTMLInputElement::setIndeterminate):
1054         * html/HTMLProgressElement.cpp:
1055         (WebCore::HTMLProgressElement::didElementStateChange):
1056
1057 2012-11-16  Alexis Menard  <alexis@webkit.org>
1058
1059         Factorize the creation of primitive values with a pair into a function.
1060         https://bugs.webkit.org/show_bug.cgi?id=102485
1061
1062         Reviewed by Antti Koivisto.
1063
1064         The pattern is already existing in various call sites inside CSSParser
1065         and more will be added in the future (see bug 102104).
1066
1067         No new tests : It's a refactoring only, the tests should cover it.
1068
1069         * css/CSSParser.cpp:
1070         (WebCore):
1071         (WebCore::createPrimitiveValuePair):
1072         (WebCore::CSSParser::parseValue):
1073         (WebCore::CSSParser::parseFillSize):
1074         (WebCore::CSSParser::parseBorderImageRepeat):
1075         (WebCore::CSSParser::parseBorderRadius):
1076         (WebCore::CSSParser::parseCounter):
1077
1078 2012-11-16  Mark Pilgrim  <pilgrim@chromium.org>
1079
1080         Expand PlatformCookieJar interface to allow for other ports
1081         https://bugs.webkit.org/show_bug.cgi?id=102456
1082
1083         Reviewed by Adam Barth.
1084
1085         Add firstParty and cookieURL arguments to several functions to
1086         prepare for integrating Chromium port into new PlatformCookieJar
1087         interface.
1088
1089         * loader/CookieJar.cpp:
1090         (WebCore::cookiesEnabled):
1091         (WebCore::cookieRequestHeaderFieldValue):
1092         (WebCore::getRawCookies):
1093         * platform/network/PlatformCookieJar.h:
1094         (WebCore):
1095         * platform/network/cf/CookieJarCFNet.cpp:
1096         (WebCore::cookieRequestHeaderFieldValue):
1097         (WebCore::cookiesEnabled):
1098         (WebCore::getRawCookies):
1099         * platform/network/curl/CookieJarCurl.cpp:
1100         (WebCore::cookieRequestHeaderFieldValue):
1101         (WebCore::cookiesEnabled):
1102         (WebCore::getRawCookies):
1103         * platform/network/mac/CookieJarMac.mm:
1104         (WebCore::cookieRequestHeaderFieldValue):
1105         (WebCore::cookiesEnabled):
1106         (WebCore::getRawCookies):
1107         * platform/network/qt/CookieJarQt.cpp:
1108         (WebCore::cookieRequestHeaderFieldValue):
1109         (WebCore::cookiesEnabled):
1110         (WebCore::getRawCookies):
1111         * platform/network/soup/CookieJarSoup.cpp:
1112         (WebCore::cookieRequestHeaderFieldValue):
1113         (WebCore::cookiesEnabled):
1114         (WebCore::getRawCookies):
1115         * platform/network/win/CookieJarWin.cpp:
1116         (WebCore::cookieRequestHeaderFieldValue):
1117         (WebCore::cookiesEnabled):
1118         (WebCore::getRawCookies):
1119
1120 2012-11-16  Julien Chaffraix  <jchaffraix@webkit.org>
1121
1122         RenderGrid should have a function to resolve grid position
1123         https://bugs.webkit.org/show_bug.cgi?id=102441
1124
1125         Reviewed by Ojan Vafai.
1126
1127         The code was doing this conversion implicitly inside RenderGrid::findChildLogicalPosition.
1128         Also note that we also provided a fallback by returning LayoutPoint() (ie the (0, 0) position
1129         on the grid) if we couldn't handle the value. The explicit conversion is needed in order to
1130         support render areas and add a proper grid model to RenderGrid.
1131
1132         No expected change in behavior.
1133
1134         * rendering/RenderGrid.h:
1135         * rendering/RenderGrid.cpp:
1136         (WebCore::RenderGrid::resolveGridPosition):
1137         Added this new function to handle the conversion. We re-use Length but should never see
1138         a lot of the <length> values so I added some ASSERTs to enforce and catch that.
1139
1140         (WebCore::RenderGrid::findChildLogicalPosition):
1141         Simplified the function now that it just use resolveGridPosition.
1142
1143 2012-11-16  Ulan Degenbaev  <ulan@chromium.org>
1144
1145         [V8] Increment the amount of externally allocated memory for the receiving V8 isolate when transferring ArrayBuffer
1146         https://bugs.webkit.org/show_bug.cgi?id=94463
1147
1148         Reviewed by Kentaro Hara.
1149
1150         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is deserialized and transferred.
1151
1152         Test: ManualTests/typed-array-memory.html
1153
1154         * bindings/v8/SerializedScriptValue.cpp:
1155
1156 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1157
1158         Unreviewed, rolling out r134694.
1159         http://trac.webkit.org/changeset/134694
1160         https://bugs.webkit.org/show_bug.cgi?id=102481
1161
1162         it made API test crash on EFL port (Requested by gyuyoung on
1163         #webkit).
1164
1165         * platform/efl/RenderThemeEfl.cpp:
1166         (WebCore::fillColorsFromEdjeClass):
1167         (WebCore::RenderThemeEfl::setColorFromThemeClass):
1168         (WebCore::RenderThemeEfl::loadTheme):
1169         (WebCore::RenderThemeEfl::RenderThemeEfl):
1170         * platform/efl/RenderThemeEfl.h:
1171         (RenderThemeEfl):
1172
1173 2012-11-16  Mike West  <mkwst@chromium.org>
1174
1175         Web Inspector: Move call stack generation out of bindings.
1176         https://bugs.webkit.org/show_bug.cgi?id=101331
1177
1178         Reviewed by Yury Semikhatsky.
1179
1180         Currently, we generate stack traces for console messages at each call
1181         site. Bug 100650 has the end goal of moving all stack trace generation
1182         inside of the Inspector in order to ensure that we never send a console
1183         message without a stack trace if it's possible to generate one. This
1184         also ensures that we never generate unused call stacks.
1185
1186         This patch is the first step in that direction, moving stack trace
1187         generation out of the Console bindings, and into either Console or
1188         InspectorConsoleAgent.
1189
1190         No visible change in behavior should result; this refactoring should
1191         continue to pass all existing inspector tests.
1192
1193         * bindings/js/JSConsoleCustom.cpp:
1194         (WebCore::JSConsole::profile):
1195         (WebCore::JSConsole::profileEnd):
1196             Adjust custom JSC Console bindings to drop call stack generation.
1197         * bindings/scripts/CodeGeneratorJS.pm:
1198         (GenerateCallWith):
1199         * bindings/scripts/CodeGeneratorV8.pm:
1200         (GenerateCallWith):
1201             Drop call stack generation from JSC and V8 bindings.
1202         * bindings/scripts/CodeGeneratorGObject.pm:
1203             Skip timeEnd explicitly in these bindings; it used to include
1204             ScriptArguments, which autoskipped it. Now it doesn't, so it needs
1205             to be called out on its own.
1206         * bindings/v8/ScriptCallStackFactory.cpp:
1207         (WebCore::createScriptCallStackForConsole):
1208         (WebCore::createScriptCallStack):
1209         (WebCore):
1210         * bindings/v8/ScriptCallStackFactory.h:
1211         (WebCore):
1212             Add 'createScriptCallStack(ScriptState*, size_t)' to V8's
1213             ScriptCallStackFactory in order to match JCS' implementation.
1214             It simply delegates to 'createScriptCallStackForConsole', which
1215             now also accepts a 'maxStackSize' parameter.
1216         * bindings/v8/custom/V8ConsoleCustom.cpp:
1217         (WebCore::V8Console::traceCallback):
1218         (WebCore::V8Console::assertCallback):
1219         (WebCore::V8Console::profileCallback):
1220         (WebCore::V8Console::profileEndCallback):
1221             Adjust custom V8 bindings to drop call stack generation.
1222         * inspector/InspectorConsoleAgent.cpp:
1223         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1224             With the eventual goal of getting rid of the call stack parameter
1225             entirely, this patch drops it from one version of
1226             'addMessageToConsole' (replacing it with ScriptState*), and creates
1227             a new version that only accepts a call stack. We should be able to
1228             migrate most (all?) external call sites over to the arguments
1229             version in future patches.
1230         (WebCore):
1231         (WebCore::InspectorConsoleAgent::count):
1232             Count takes 'ScriptState*' instead of a call stack, and generates
1233             the stack as needed.
1234         * inspector/InspectorConsoleAgent.h:
1235         (InspectorConsoleAgent):
1236         * inspector/InspectorConsoleInstrumentation.h:
1237         (WebCore::InspectorInstrumentation::addMessageToConsole):
1238         (WebCore):
1239         (WebCore::InspectorInstrumentation::consoleCount):
1240         * inspector/InspectorInstrumentation.cpp:
1241         (WebCore):
1242         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1243         (WebCore::InspectorInstrumentation::consoleCountImpl):
1244         * inspector/InspectorInstrumentation.h:
1245         (InspectorInstrumentation):
1246             Changes the InspectorInstrumentation pipeline to match the
1247             InspectorConsoleAgent changes.
1248         * page/Console.cpp:
1249         (WebCore::Console::addMessage):
1250             We now (always) generate one frame of a stack trace in order to
1251             populate line numbers and caller URLs. If we need to print the whole
1252             trace here, we generate a full stack.
1253         (WebCore::Console::debug):
1254         (WebCore::Console::error):
1255         (WebCore::Console::info):
1256         (WebCore::Console::log):
1257         (WebCore::Console::warn):
1258         (WebCore::Console::dir):
1259         (WebCore::Console::dirxml):
1260         (WebCore::Console::clear):
1261         (WebCore::Console::trace):
1262         (WebCore::Console::assertCondition):
1263         (WebCore::Console::count):
1264         (WebCore::Console::markTimeline):
1265         (WebCore::Console::timeEnd):
1266         (WebCore::Console::timeStamp):
1267         (WebCore::Console::group):
1268         (WebCore::Console::groupCollapsed):
1269         (WebCore::Console::profile):
1270         (WebCore::Console::profileEnd):
1271             s/ScriptCallStack/ScriptState*/g. Also, printing the stack trace
1272             has been moved out of 'trace' and into 'addMessage'.
1273         * page/Console.h:
1274         (Console):
1275         * page/Console.idl:
1276             Drop the call stack, add the script state.
1277         * workers/WorkerContext.cpp:
1278         (WebCore::WorkerContext::addMessageToWorkerConsole):
1279             Use the new, explicitly call stacked addMessageToConsole. We'll kill
1280             this in a future patch.
1281
1282 2012-11-16  Marja Hölttä  <marja@chromium.org>
1283
1284         Add initiator to CachedResourceRequest.
1285         https://bugs.webkit.org/show_bug.cgi?id=101935
1286
1287         Reviewed by Adam Barth.
1288
1289         Motivation: Chromium needs to know which elements request a
1290         resource (such as an image or a script) (bug 92761). In addition,
1291         for exposing resource timing information (bug 84883) we need to
1292         store the initiator, and this is the first step towards it.
1293
1294         No new tests: No visible change in behavior.
1295
1296         * CMakeLists.txt:
1297         * GNUmakefile.list.am:
1298         * Target.pri:
1299         * WebCore.gypi:
1300         * WebCore.vcproj/WebCore.vcproj:
1301         * WebCore.xcodeproj/project.pbxproj:
1302         * css/CSSCursorImageValue.cpp:
1303         (WebCore::CSSCursorImageValue::cachedImage):
1304         * css/CSSFontFaceSrcValue.cpp:
1305         (WebCore::CSSFontFaceSrcValue::cachedFont):
1306         * css/CSSImageSetValue.cpp:
1307         (WebCore::CSSImageSetValue::cachedImageSet):
1308         * css/CSSImageValue.cpp:
1309         (WebCore::CSSImageValue::cachedImage):
1310         * css/CSSImageValue.h:
1311         (WebCore):
1312         (CSSImageValue):
1313         * css/StyleResolver.cpp:
1314         (WebCore::StyleResolver::loadPendingImage):
1315         * css/StyleRuleImport.cpp:
1316         (WebCore::StyleRuleImport::requestStyleSheet):
1317         * css/WebKitCSSSVGDocumentValue.cpp:
1318         (WebCore::WebKitCSSSVGDocumentValue::load):
1319         * css/WebKitCSSShaderValue.cpp:
1320         (WebCore::WebKitCSSShaderValue::cachedShader):
1321         * dom/ScriptElement.cpp:
1322         (WebCore::ScriptElement::requestScript):
1323         * html/HTMLLinkElement.cpp:
1324         (WebCore::HTMLLinkElement::process):
1325         * html/parser/CSSPreloadScanner.cpp:
1326         (WebCore::CSSPreloadScanner::emitRule):
1327         * html/parser/CSSPreloadScanner.h:
1328         (CSSPreloadScanner):
1329         * html/parser/HTMLPreloadScanner.cpp:
1330         (WebCore::PreloadTask::preload):
1331         * loader/ImageLoader.cpp:
1332         (WebCore::ImageLoader::updateFromElement):
1333         * loader/cache/CachedResourceLoader.cpp:
1334         (WebCore::CachedResourceLoader::requestImage):
1335         (WebCore::CachedResourceLoader::requestResource):
1336         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1337         (WebCore):
1338         (WebCore::CachedResourceLoader::preload):
1339         * loader/cache/CachedResourceLoader.h:
1340         (WebCore):
1341         (CachedResourceLoader):
1342         * loader/cache/CachedResourceRequest.cpp:
1343         (WebCore::CachedResourceRequest::CachedResourceRequest):
1344         (WebCore):
1345         (WebCore::CachedResourceRequest::~CachedResourceRequest):
1346         (WebCore::CachedResourceRequest::setInitiator):
1347         (WebCore::CachedResourceRequest::initiatorName):
1348         (WebCore::CachedResourceRequest::initiatorDocument):
1349         (WebCore::CachedResourceRequest::initiatorElement):
1350         * loader/cache/CachedResourceRequest.h:
1351         (WebCore):
1352         (WebCore::CachedResourceRequest::setOptions):
1353         (WebCore::CachedResourceRequest::defer):
1354         (WebCore::CachedResourceRequest::setDefer):
1355         (CachedResourceRequest):
1356         * loader/cache/CachedResourceRequestInitiators.cpp: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
1357         (WebCore):
1358         (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
1359         * loader/cache/CachedResourceRequestInitiators.h: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
1360         (WebCore):
1361         (CachedResourceRequestInitiators):
1362         (WebCore::cachedResourceRequestInitiators):
1363         * loader/icon/IconLoader.cpp:
1364         (WebCore::IconLoader::startLoading):
1365         * platform/ThreadGlobalData.cpp:
1366         (WebCore::ThreadGlobalData::ThreadGlobalData):
1367         * platform/ThreadGlobalData.h:
1368         (WebCore):
1369         (WebCore::ThreadGlobalData::cachedResourceRequestInitiators):
1370         (ThreadGlobalData):
1371         * svg/SVGFEImageElement.cpp:
1372         (WebCore::SVGFEImageElement::requestImageResource):
1373         * svg/SVGFontFaceUriElement.cpp:
1374         (WebCore::SVGFontFaceUriElement::loadFont):
1375         * svg/SVGUseElement.cpp:
1376         (WebCore::SVGUseElement::svgAttributeChanged):
1377
1378 2012-11-16  Yury Semikhatsky  <yurys@chromium.org>
1379
1380         Web Inspector: don't show an Error when evaluating a watch expression results in an exception
1381         https://bugs.webkit.org/show_bug.cgi?id=102470
1382
1383         Reviewed by Vsevolod Vlasov.
1384
1385         Dim watch expression and show "<not available>" as its value in cases when it evaluates
1386         into an exception.
1387
1388         * English.lproj/localizedStrings.js:
1389         * inspector/front-end/WatchExpressionsSidebarPane.js:
1390         (WebInspector.WatchExpressionTreeElement.prototype.update):
1391         * inspector/front-end/inspector.css:
1392
1393 2012-11-16  Vsevolod Vlasov  <vsevik@chromium.org>
1394
1395         Web Inspector: Rollout 134404 134548 134552 Temporarily rolling out to ease merging.
1396         https://bugs.webkit.org/show_bug.cgi?id=102476
1397
1398         Unreviewed rolling out.
1399
1400         * English.lproj/localizedStrings.js:
1401         * WebCore.gypi:
1402         * WebCore.vcproj/WebCore.vcproj:
1403         * inspector/compile-front-end.py:
1404         * inspector/front-end/AdvancedSearchController.js:
1405         * inspector/front-end/CallStackSidebarPane.js:
1406         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1407         * inspector/front-end/ConsoleView.js:
1408         (WebInspector.ConsoleView.prototype._registerShortcuts):
1409         * inspector/front-end/ElementsPanel.js:
1410         (WebInspector.ElementsPanel):
1411         (WebInspector.ElementsPanel.prototype._registerShortcuts):
1412         * inspector/front-end/ElementsPanelDescriptor.js:
1413         * inspector/front-end/GoToLineDialog.js:
1414         (WebInspector.GoToLineDialog.install):
1415         * inspector/front-end/KeyboardShortcut.js:
1416         (WebInspector.KeyboardShortcut._keyName):
1417         * inspector/front-end/Panel.js:
1418         (WebInspector.Panel.prototype.registerShortcut):
1419         (WebInspector.Panel.prototype.unregisterShortcut):
1420         (WebInspector.PanelDescriptor.prototype.panel):
1421         * inspector/front-end/ScriptsPanel.js:
1422         (WebInspector.ScriptsPanel):
1423         (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
1424         (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
1425         * inspector/front-end/ScriptsPanelDescriptor.js:
1426         * inspector/front-end/ShortcutsScreen.js:
1427         (WebInspector.ShortcutsScreen):
1428         (WebInspector.ShortcutsSection):
1429         (WebInspector.ShortcutsSection.prototype._renderKey):
1430         * inspector/front-end/StylesSidebarPane.js:
1431         (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
1432         * inspector/front-end/TimelinePanel.js:
1433         (WebInspector.TimelinePanel.prototype._registerShortcuts):
1434         * inspector/front-end/TimelinePanelDescriptor.js: Removed.
1435         * inspector/front-end/WebKit.qrc:
1436         * inspector/front-end/inspector.html:
1437         * inspector/front-end/inspector.js:
1438         (WebInspector._panelDescriptors):
1439         (WebInspector._registerShortcuts):
1440
1441 2012-11-16  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1442
1443         Web Inspector: Memory Timeline Crash
1444         https://bugs.webkit.org/show_bug.cgi?id=102390
1445
1446         Reviewed by Vsevolod Vlasov.
1447
1448         Crash seems to be caused by IPC overflow.
1449         Messages "ParsedScriptSource" are routed to
1450         ResourceScriptMapping.prototype.addScript that process them in time
1451         linear to number of already registered non-anonymous non-inline scripts.
1452
1453         Fixed this with replacing repreated filtering with "on-line" bucketing.
1454
1455         * inspector/front-end/ResourceScriptMapping.js:
1456         (WebInspector.ResourceScriptMapping):
1457         Removed duplicating initialization code.
1458         (WebInspector.ResourceScriptMapping.prototype.addScript):
1459         Added script bucketing by sourceURL/isInline parameters.
1460         (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
1461         Avoid filterfig.
1462         (WebInspector.ResourceScriptMapping.prototype._createUISourceCode):
1463         Added outgoing muatable array safeguard.
1464         (WebInspector.ResourceScriptMapping.prototype._reset):
1465         Added type information and added two new maps.
1466
1467 2012-11-16  Helder Correia  <helder.correia@nokia.com>
1468
1469         [CoordGfx] Follow coding style on explicit constructors
1470         https://bugs.webkit.org/show_bug.cgi?id=102451
1471
1472         Reviewed by Noam Rosenthal.
1473
1474         Use the explicit keyword on single argument constructors.
1475
1476         No new tests needed.
1477
1478         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1479         (GraphicsLayerTextureMapper):
1480         * platform/graphics/texmap/TextureMapper.h:
1481         (TextureMapper):
1482         * platform/graphics/texmap/TextureMapperBackingStore.h:
1483         (WebCore::TextureMapperTile::TextureMapperTile):
1484         * platform/graphics/texmap/TextureMapperGL.cpp:
1485         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
1486         (WebCore::TextureMapperGLData::TextureMapperGLData):
1487         * platform/graphics/texmap/TextureMapperGL.h:
1488         (BitmapTextureGL):
1489         * platform/graphics/texmap/TextureMapperShaderManager.h:
1490         (TextureMapperShaderManager):
1491
1492 2012-11-16  Kihong Kwon  <kihong.kwon@samsung.com>
1493
1494         Add DeviceController base-class to remove duplication of DeviceXXXControler
1495         https://bugs.webkit.org/show_bug.cgi?id=96894
1496
1497         Reviewed by Hajime Morita.
1498
1499         Add DeviceController which is extracted from DeviceOrientationController to remove duplication.
1500         And soon-to-be-added DeviceMotionController and ProximityController.
1501
1502         Covered by existing tests.
1503
1504         * CMakeLists.txt:
1505         * GNUmakefile.list.am:
1506         * Target.pri:
1507         * WebCore.gypi:
1508         * WebCore.vcproj/WebCore.vcproj:
1509         * WebCore.xcodeproj/project.pbxproj:
1510         * dom/DeviceOrientationClient.h:
1511         * dom/DeviceOrientationController.cpp:
1512         Remove member functions to move to DeviceController.
1513         - addListener(), removeListener(), removeAllListeners(), isActive()
1514         (WebCore::DeviceOrientationController::DeviceOrientationController):
1515         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1516         (WebCore::DeviceOrientationController::client):
1517         (WebCore::DeviceOrientationController::hasLastData):
1518         (WebCore::DeviceOrientationController::getLastEvent):
1519         (WebCore::DeviceOrientationController::from):
1520         (WebCore):
1521         * dom/DeviceOrientationController.h:
1522         (WebCore):
1523         (WebCore::DeviceOrientationController::~DeviceOrientationController):
1524         (DeviceOrientationController):
1525         * dom/Document.cpp:
1526         Remove suspendEventsForAllListeners() and resumeEventsForAllListeners() function calls.
1527         These calls can be made by checking activeDOMObjectsAreSuspended() and activeDOMObjectsAreStopped() before dispatchEvent.
1528         (WebCore::Document::suspendActiveDOMObjects):
1529         (WebCore::Document::resumeActiveDOMObjects):
1530         * loader/EmptyClients.h:
1531         (EmptyDeviceClient):
1532         (WebCore::EmptyDeviceClient::startUpdating):
1533         (WebCore::EmptyDeviceClient::stopUpdating):
1534         (WebCore):
1535         * page/DOMWindow.cpp:
1536         (WebCore::DOMWindow::addEventListener):
1537         (WebCore::DOMWindow::removeEventListener):
1538         (WebCore::DOMWindow::removeAllEventListeners):
1539         * page/DeviceClient.h: Added.
1540         (WebCore):
1541         (DeviceClient):
1542         (WebCore::DeviceClient::~DeviceClient):
1543         * page/DeviceController.cpp: Added.
1544         DeviceController has extracted functions from DeviceOrientationController and DeviceMotionController.
1545         - addDeviceEventListener(), removeDeviceEventlistener(), removeAllDeviceEventListeners(), dispatchDeviceEvent()
1546         All kind of device event controller which has DeviceClient can be inherited from DeviceController.
1547         (WebCore):
1548         (WebCore::DeviceController::DeviceController):
1549         (WebCore::DeviceController::addDeviceEventListener):
1550         (WebCore::DeviceController::removeDeviceEventListener):
1551         (WebCore::DeviceController::removeAllDeviceEventListeners):
1552         (WebCore::DeviceController::dispatchDeviceEvent):
1553         (WebCore::DeviceController::fireDeviceEvent):
1554         * page/DeviceController.h: Added.
1555         (WebCore):
1556         (DeviceController):
1557         (WebCore::DeviceController::~DeviceController):
1558         (WebCore::DeviceController::isActive):
1559         (WebCore::DeviceController::client):
1560         (WebCore::DeviceController::hasLastData):
1561         (WebCore::DeviceController::getLastEvent):
1562
1563 2012-11-16  Alexander Pavlov  <apavlov@chromium.org>
1564
1565         Web Inspector: [Overrides] Device metrics get reset on navigation, yet remain in the Overrides view
1566         https://bugs.webkit.org/show_bug.cgi?id=102467
1567
1568         Reviewed by Pavel Feldman.
1569
1570         Restore the device metrics overrides from the inspector cookie in InspectorPageAgent::restore().
1571         Drive-by: move the script execution and FPS counter display state restoration from enable() into restore(),
1572         so that they will get restored only upon page navigation, not upon any agent enablement.
1573
1574         * inspector/InspectorPageAgent.cpp:
1575         (WebCore::InspectorPageAgent::restore): Restore device metrics overrides, script execution and FPS counter display state.
1576         (WebCore::InspectorPageAgent::enable): Don't restore script execution and FPS counter display state on any enablement.
1577
1578 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1579
1580         Unreviewed, rolling out r134908.
1581         http://trac.webkit.org/changeset/134908
1582         https://bugs.webkit.org/show_bug.cgi?id=102473
1583
1584         Broke the Apple Windows Debug build. (Requested by dydx on
1585         #webkit).
1586
1587         * WebCore.exp.in:
1588         * dom/ViewportArguments.cpp:
1589         (WebCore::computeViewportAttributes):
1590         * dom/ViewportArguments.h:
1591         (WebCore):
1592
1593 2012-11-16  Peter Rybin  <prybin@chromium.org>
1594
1595         Web Inspector: show internal properties in inspector frontend
1596         https://bugs.webkit.org/show_bug.cgi?id=100021
1597
1598         Reviewed by Yury Semikhatsky.
1599
1600         New field 'internalProperties' is parsed and passed via all callbacks to Object Properties section.
1601
1602         Test: inspector/debugger/properties-special.html
1603
1604         * inspector/front-end/ObjectPropertiesSection.js:
1605         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
1606         (WebInspector.ObjectPropertiesSection.prototype.update):
1607         (.callback):
1608         (WebInspector.ObjectPropertyTreeElement.populate):
1609         (.processProperties):
1610         (WebInspector.ArrayGroupingTreeElement._populateAsFragment):
1611         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):
1612         * inspector/front-end/RemoteObject.js:
1613         (WebInspector.RemoteObject.prototype.set else):
1614
1615 2012-11-06  Alexander Pavlov  <apavlov@chromium.org>
1616
1617         Web Inspector: metrics, geolocation, orientation overrides do not belong to the settings panel
1618         https://bugs.webkit.org/show_bug.cgi?id=93691
1619
1620         Reviewed by Vsevolod Vlasov.
1621
1622         - The Overrides tab contents have been moved from the Settings dialog into a brand new Overrides drawer view,
1623         both receiving a new, more light-weight design.
1624         - The Cog button now brings up a popup menu with the "Overrides" and "Settings" items.
1625
1626         * WebCore.gypi:
1627         * WebCore.vcproj/WebCore.vcproj:
1628         * inspector/compile-front-end.py:
1629         * inspector/front-end/ContextMenu.js:
1630         (WebInspector.ContextMenu.prototype.showSoftMenu): Display the ContextMenu as a soft menu.
1631         * inspector/front-end/OverridesView.js: Copied from Source/WebCore/inspector/front-end/SettingsScreen.js.
1632         (WebInspector.OverridesView.appendBlockTo):
1633         (WebInspector.OverridesView):
1634         (WebInspector.OverridesView.showInDrawer):
1635         (WebInspector.OverridesView.prototype.get listener):
1636         (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.get const):
1637         (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textDoubleClicked):
1638         (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textChanged):
1639         (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.set checkboxClicked):
1640         (WebInspector.OverridesView.prototype._createUserAgentSelectRowElement):
1641         (WebInspector.OverridesView.prototype._createInput):
1642         (WebInspector.OverridesView.prototype._onMetricsCheckboxClicked):
1643         (WebInspector.OverridesView.prototype._applyDeviceMetricsUserInput):
1644         (WebInspector.OverridesView.prototype.):
1645         (WebInspector.OverridesView.prototype.set if):
1646         (WebInspector.OverridesView.prototype._createDeviceMetricsElement.swapDimensionsClicked):
1647         (WebInspector.OverridesView.prototype._createDeviceMetricsElement):
1648         (WebInspector.OverridesView.prototype._onGeolocationOverrideCheckboxClicked):
1649         (WebInspector.OverridesView.prototype._applyGeolocationUserInput):
1650         (WebInspector.OverridesView.prototype._setGeolocationPosition):
1651         (WebInspector.OverridesView.prototype._createGeolocationOverrideElement):
1652         (WebInspector.OverridesView.prototype._onDeviceOrientationOverrideCheckboxClicked):
1653         (WebInspector.OverridesView.prototype._applyDeviceOrientationUserInput):
1654         (WebInspector.OverridesView.prototype._setDeviceOrientation):
1655         (WebInspector.OverridesView.prototype._createDeviceOrientationOverrideElement):
1656         * inspector/front-end/ScriptsPanel.js:
1657         (WebInspector.ScriptsPanel): Fix the "DOM Breakpoints" pane move upon the panel creation.
1658         * inspector/front-end/SettingsScreen.js:
1659         (WebInspector.SettingsTab):
1660         (WebInspector.SettingsTab.prototype._appendSection):
1661         (WebInspector.GenericSettingsTab):
1662         (WebInspector.ExperimentsSettingsTab):
1663         (WebInspector.SettingsController): Implement the popup menu upon the button click.
1664         (WebInspector.SettingsController.prototype.showOverrides):
1665         (WebInspector.SettingsController.prototype.showSettings):
1666         (WebInspector.SettingsController.prototype.appendApplicableItems):
1667         (WebInspector.SettingsController.prototype._buttonPressed):
1668         (WebInspector.SettingsController.prototype._onHideSettingsScreen):
1669         (WebInspector.SettingsController.prototype.showSettingsScreen):
1670         * inspector/front-end/ShortcutsScreen.js: Add "Shortcuts" header.
1671         (WebInspector.ShortcutsScreen.prototype.createShortcutsTabView):
1672         * inspector/front-end/SoftContextMenu.js: Enable in all cases, implement the alignToCurrentTarget mode in show().
1673         (WebInspector.SoftContextMenu.prototype.show):
1674         * inspector/front-end/TabbedPane.js: Implement vertical tab layout (skipping the tab width computations).
1675         (WebInspector.TabbedPane.prototype.set verticalTabLayout):
1676         (WebInspector.TabbedPane.prototype._updateWidths):
1677         (WebInspector.TabbedPaneTab.prototype.setWidth):
1678         (WebInspector.TabbedPaneTab.prototype._createTabElement):
1679         * inspector/front-end/WebKit.qrc:
1680         * inspector/front-end/helpScreen.css: Update styles for the new Settings and Overrides look-and-feel.
1681         * inspector/front-end/inspector.css: Drive-by fix small artifacts in the soft menu and drawer view statusbar item label.
1682         (.soft-context-menu-item):
1683         (.drawer-header):
1684         * inspector/front-end/inspector.html:
1685
1686 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1687
1688         Unreviewed, rolling out r134865.
1689         http://trac.webkit.org/changeset/134865
1690         https://bugs.webkit.org/show_bug.cgi?id=102466
1691
1692         Broke the Apple Windows Debug build. (Requested by dydx on
1693         #webkit).
1694
1695         * WebCore.exp.in:
1696         * bindings/js/SerializedScriptValue.h:
1697         * testing/Internals.cpp:
1698         * testing/Internals.h:
1699         (WebCore):
1700         * testing/Internals.idl:
1701
1702 2012-11-16  Takashi Sakamoto  <tasak@google.com>
1703
1704         ASSERT_NOT_REACHED() when building a CSSOM wrapper for StyleRuleHost
1705         https://bugs.webkit.org/show_bug.cgi?id=102116
1706
1707         Reviewed by Alexander Pavlov.
1708
1709         Provide a CSSUnknownRule instance as a CSSOM wrapper for StyleRuleHost
1710         rules. Since there is no CSSOM wrapper for @host @-rules and
1711         ASSERT_NOT_REACHED is used when a CSSOM wrapper is requested,
1712         this crash occurs.
1713
1714         Tests: fast/css/at-host-cssom-crash.html
1715                inspector/styles/styles-include-host-rules-crash.html
1716
1717         * css/StyleRule.cpp:
1718         (WebCore::StyleRuleBase::createCSSOMWrapper):
1719         Return a CSSUnknownRule instance for StyleRuleHost rules instead of
1720         calling ASSERT_NOT_REACHED().
1721
1722 2012-11-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1723
1724         Avoid copying of ViewportArguments in computeViewportAttributes function
1725         https://bugs.webkit.org/show_bug.cgi?id=102354
1726
1727         Reviewed by Kenneth Rohde Christiansen.
1728
1729         Since r134749 we do not need copying of ViewportArguments parameter in
1730         computeViewportAttributes() as it is not modified any more.
1731
1732         Tested by existing tests fast/viewport.
1733
1734         * WebCore.exp.in: Updated exported symbols for MAC.
1735         * dom/ViewportArguments.cpp:
1736         (WebCore::computeViewportAttributes):
1737         * dom/ViewportArguments.h:
1738         (WebCore):
1739
1740 2012-11-15  Yury Semikhatsky  <yurys@chromium.org>
1741
1742         Memory instrumentation: add code for reporting stack traces of unknown instrumented objects
1743         https://bugs.webkit.org/show_bug.cgi?id=102384
1744
1745         Reviewed by Pavel Feldman.
1746
1747         * inspector/InspectorMemoryAgent.cpp:
1748         (WebCore::MemoryInstrumentationClientImpl::checkCountedObject): return false
1749         if the check fails.
1750         * inspector/MemoryInstrumentationImpl.h:
1751         (MemoryInstrumentationClientImpl):
1752
1753 2012-11-15  Jer Noble  <jer.noble@apple.com>
1754
1755         Crash at WebCore::PluginData::pluginFileForMimeType const + 38
1756         https://bugs.webkit.org/show_bug.cgi?id=102454
1757
1758         Reviewed by Dan Bernstein.
1759
1760         NULL-check the return value of Page::pluginData().
1761
1762         * loader/SubframeLoader.cpp:
1763         (WebCore::logPluginRequest):
1764
1765 2012-11-15  Kenichi Ishibashi  <bashi@chromium.org>
1766
1767         [Chromium] Unreviewed build fix attempt on win
1768
1769         Include OpenTypeVerticalData.h
1770
1771         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1772         (WebCore):
1773
1774 2012-11-15  Kentaro Hara  <haraken@chromium.org>
1775
1776         Unreviewed, rolling out r134881.
1777         http://trac.webkit.org/changeset/134881
1778         https://bugs.webkit.org/show_bug.cgi?id=102348
1779
1780         http/tests/appcache tests on JSC platforms are broken
1781
1782         * bindings/scripts/CodeGenerator.pm:
1783         (IsStrictSubtype):
1784         * bindings/scripts/CodeGeneratorJS.pm:
1785         (GenerateImplementation):
1786         * bindings/scripts/CodeGeneratorV8.pm:
1787         (GenerateHeader):
1788         (GetInternalFields):
1789         (IsSubType):
1790         (IsNodeSubType):
1791         (GenerateNormalAttrGetter):
1792         (GenerateNormalAttrSetter):
1793         (GenerateFunctionCallback):
1794         (GenerateImplementationIndexer):
1795         (GenerateToV8Converters):
1796
1797 2012-11-15  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
1798
1799         [TexMap][Cairo][Qt] Refactor BitmapTextureGL::updateContents().
1800         https://bugs.webkit.org/show_bug.cgi?id=102420
1801
1802         Reviewed by Gyuyoung Kim.
1803
1804         Moved out texture upload without swizzle to the separate method and changed
1805         drawRepaintCounter to use no-swizzle method. This also fixes blue background
1806         of repaint counters in Qt Minibrowser.
1807         Added condition for sub-image buffer creation to not create it if full image is
1808         uploaded. This should give noticeable improvement for platforms that do not
1809         support sub-image upload to texture.
1810
1811         Covered by existing tests.
1812
1813         * platform/graphics/texmap/TextureMapperGL.cpp:
1814         (WebCore::TextureMapperGL::drawRepaintCounter):
1815         (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
1816         (WebCore):
1817         (WebCore::BitmapTextureGL::updateContents):
1818         * platform/graphics/texmap/TextureMapperGL.h:
1819         (BitmapTextureGL):
1820
1821 2012-11-15  Kent Tamura  <tkent@chromium.org>
1822
1823         A Spin button should release mouse event capturing when a modal dialog opens
1824         https://bugs.webkit.org/show_bug.cgi?id=98007
1825
1826         Reviewed by Hajime Morita.
1827
1828         Description of bug:
1829         If the mouse left button is pressed on a spin button in
1830         input[type=number] and a 'change' event handler opens a modal dialog
1831         such as alert(), a repeating timer doesn't stop and mouse event
1832         capturing isn't released even though the mouse pointer isn't on the spin
1833         button.
1834         A user will see repeating alert dialogs for a document like <input
1835         type=number value=1 onchange="if (this.value==1) {alert(...);
1836         this.value=1;}"> by clicking the up button.
1837
1838         How to solve:
1839         We should notify modal dialog or popup open to a spin button.
1840         This patch introduce PopupOpeningObserver. Chrome notifies it when
1841         any dialogs / popups is opening. SpinButtonElement implements
1842         PopupOpeningObserver and registers/unregisters itself to/from
1843         Chrome.
1844
1845         No new tests. This is a behavior change, but it's very hard to make an
1846         automated test for timer-related behavior.
1847
1848         * page/PopupOpeningObserver.h: Added.
1849         * GNUmakefile.list.am: Add PopupOpeningObserver.h
1850         * Target.pri: Ditto.
1851         * WebCore.gypi: Ditto.
1852         * WebCore.vcproj/WebCore.vcproj: Ditto.
1853         * WebCore.xcodeproj/project.pbxproj: Ditto.
1854
1855         * page/Chrome.cpp:
1856         (WebCore::Chrome::runJavaScriptAlert): Calls notifyPopupOpeningObservers.
1857         (WebCore::Chrome::runJavaScriptConfirm): Ditto.
1858         (WebCore::Chrome::runJavaScriptPrompt): Ditto.
1859         (WebCore::Chrome::createColorChooser): Ditto.
1860         (WebCore::Chrome::openDateTimeChooser):
1861         Added. Calls notifyPopupOpeningObservers before calling
1862         ChromeClient::openDateTimeChooser.
1863         (WebCore::Chrome::runOpenPanel): Calls notifyPopupOpeningObservers.
1864         (WebCore::Chrome::createPopupMenu): Ditto.
1865         (WebCore::Chrome::createSearchPopupMenu): Ditto.
1866         (WebCore::Chrome::registerPopupOpeningObserver): Added.
1867         (WebCore::Chrome::unregisterPopupOpeningObserver): Added.
1868         (WebCore::Chrome::notifyPopupOpeningObservers): Added.
1869         * page/Chrome.h: Added new members and required class/struct declarations.
1870
1871         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
1872         (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
1873         Use Chrome::openDateTimeChooser instead of ChromeClient::openDateTimeChooser.
1874         * html/shadow/PickerIndicatorElement.cpp:
1875         (WebCore::PickerIndicatorElement::openPopup): Ditto.
1876
1877         * html/shadow/SpinButtonElement.h:
1878         (SpinButtonElement): Declare willOpenPopup.
1879         * html/shadow/SpinButtonElement.cpp:
1880         (WebCore::SpinButtonElement::defaultEventHandler):
1881         Change the order of timer start and changing the value so that we
1882         can cancel the timer correctly.
1883         Calls Chrome::registerPopupOpeningObserver on starting mouse capturing.
1884         (WebCore::SpinButtonElement::willOpenPopup):
1885         Release mouse event capturing before opening a modal dialog.
1886         (WebCore::SpinButtonElement::releaseCapture):
1887         Calls Chrome::unregisterPopupOpeningObserver.
1888
1889
1890 2012-11-15  Shinya Kawanaka  <shinyak@chromium.org>
1891
1892         Chaging pseudoClass (:enabled) should cause distribution
1893         https://bugs.webkit.org/show_bug.cgi?id=101900
1894
1895         Reviewed by Dimitri Glazkov.
1896
1897         When element's 'enabled' state is changed, we have to invalidate distribution.
1898
1899         According to the spec, :enabled matches anchor/area/link element having href attribute,
1900         and several form control elements which is not disabled. However, currently :enalbed does not match
1901         anchor/area/link yet. See https://bugs.webkit.org/show_bug.cgi?id=102349
1902
1903         Tests: fast/dom/shadow/pseudoclass-update-enabled-anchor.html
1904                fast/dom/shadow/pseudoclass-update-enabled-area.html
1905                fast/dom/shadow/pseudoclass-update-enabled-button.html
1906                fast/dom/shadow/pseudoclass-update-enabled-fieldset.html
1907                fast/dom/shadow/pseudoclass-update-enabled-input.html
1908                fast/dom/shadow/pseudoclass-update-enabled-optgroup.html
1909                fast/dom/shadow/pseudoclass-update-enabled-option.html
1910                fast/dom/shadow/pseudoclass-update-enabled-select.html
1911                fast/dom/shadow/pseudoclass-update-enabled-textarea.html
1912
1913         * html/HTMLAnchorElement.cpp:
1914         (WebCore::HTMLAnchorElement::parseAttribute):
1915         * html/HTMLFormControlElement.cpp:
1916         (WebCore::HTMLFormControlElement::disabledAttributeChanged):
1917         * html/HTMLOptGroupElement.cpp:
1918         (WebCore::HTMLOptGroupElement::parseAttribute):
1919         * html/HTMLOptionElement.cpp:
1920         (WebCore::HTMLOptionElement::parseAttribute):
1921
1922 2012-11-15  Erik Arvidsson  <arv@chromium.org>
1923
1924         Update DOMException name: ValidationError
1925         https://bugs.webkit.org/show_bug.cgi?id=102416
1926
1927         Reviewed by Kentaro Hara.
1928
1929         Patch 16 of 25 to update DOMException name to match the spec and Firefox.
1930
1931         VALIDATION_ERR is historical and not used in any spec or our code.
1932
1933         * dom/DOMCoreException.cpp:
1934         * dom/ExceptionCode.h:
1935
1936 2012-11-15  Kentaro Hara  <haraken@chromium.org>
1937
1938         [V8] Remove IsSubType() from CodeGeneratorV8.pm
1939         https://bugs.webkit.org/show_bug.cgi?id=102348
1940
1941         Reviewed by Adam Barth.
1942
1943         CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.
1944
1945         No tests. No change in behavior.
1946
1947         * bindings/scripts/CodeGenerator.pm:
1948         (IsSubType):
1949         * bindings/scripts/CodeGeneratorJS.pm:
1950         (GenerateImplementation):
1951         * bindings/scripts/CodeGeneratorV8.pm:
1952         (GenerateHeader):
1953         (GetInternalFields):
1954         (GenerateNormalAttrGetter):
1955         (GenerateNormalAttrSetter):
1956         (GenerateFunctionCallback):
1957         (GenerateImplementationIndexer):
1958         (GenerateToV8Converters):
1959
1960 2012-11-15  Erik Arvidsson  <arv@chromium.org>
1961
1962         Update DOMException name: NamespaceError
1963         https://bugs.webkit.org/show_bug.cgi?id=102395
1964
1965         Reviewed by Kentaro Hara.
1966
1967         Patch 14 of 25 to update DOMException name to match the spec and Firefox.
1968
1969         Updated existing tests.
1970
1971         * dom/DOMCoreException.cpp:
1972
1973 2012-11-15  Tien-Ren Chen  <trchen@chromium.org>
1974
1975         Add Settings to disable custom scrollbars on main frame
1976         https://bugs.webkit.org/show_bug.cgi?id=102323
1977
1978         Reviewed by Adam Barth.
1979
1980         Custom scrollbars on main frame don't really work well on touch devices.
1981         Add a setting to inhibit their creation.
1982
1983         No new tests. No change in default layout behavior.
1984
1985         * page/FrameView.cpp:
1986         (WebCore::FrameView::createScrollbar):
1987         * page/Settings.in:
1988
1989 2012-11-15  Rick Byers  <rbyers@chromium.org>
1990
1991         custom CSS cursors ignore hotspot values embedded in CUR files
1992         https://bugs.webkit.org/show_bug.cgi?id=100059
1993
1994         Reviewed by Kenneth Russell.
1995
1996         Add reading the hotspot values to the ICOImageDecoder (for CUR files only),
1997         and plumb it through so that the existing calls to ImageSource::getHotSpot
1998         actually return the hot spot value when there is one.
1999
2000         Tests: fast/events/mouse-cursor.html, fast/events/mouse-cursor-multiframecur.html
2001
2002         * platform/graphics/ImageSource.cpp:
2003         (WebCore::ImageSource::getHotSpot):
2004         * platform/graphics/chromium/DeferredImageDecoder.cpp:
2005         (WebCore::DeferredImageDecoder::hotSpot):
2006         (WebCore::DeferredImageDecoder::hotSpotAtIndex):
2007         * platform/graphics/chromium/DeferredImageDecoder.h:
2008         (DeferredImageDecoder):
2009         * platform/image-decoders/ImageDecoder.h:
2010         (WebCore::ImageDecoder::hotSpot):
2011         (WebCore::ImageDecoder::hotSpotAtIndex):
2012         (ImageDecoder):
2013         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2014         (WebCore::ICOImageDecoder::hotSpot):
2015         (WebCore::ICOImageDecoder::hotSpotAtIndex):
2016         (WebCore::ICOImageDecoder::processDirectory):
2017         (WebCore::ICOImageDecoder::readDirectoryEntry):
2018         * platform/image-decoders/ico/ICOImageDecoder.h:
2019         (ICOImageDecoder):
2020         (IconDirectoryEntry):
2021
2022 2012-11-15  Kenichi Ishibashi  <bashi@chromium.org>
2023
2024         Make OpenTypeVerticalData be ref-counted
2025         https://bugs.webkit.org/show_bug.cgi?id=101971
2026
2027         Reviewed by Tony Chang.
2028
2029         FontCache::purgeInactiveFontData() uses mark & sweep algorithm to remove unused
2030         OpenTypeVerticalData objects. It marks only OpenTypeVerticalData which can be reached
2031         via SimpleFontData in gFontDataCache. However, OpenTypeVerticalData can be referred by
2032         SimpleFontData which resides in CSSFontFaceSource::m_fontDataTable so the algorithm can
2033         delete active OpenTypeVerticalData. To avoid deleting active OpenTypeVerticalData, make
2034         it be ref-counted.
2035
2036         No new tests. No changes in behavior. Checked manually that the use-after-free was fixed.
2037
2038         * platform/graphics/FontCache.cpp:
2039         (WebCore): Use RefPtr instead of OwnPtr for FontVerticalDataCache.
2040         (WebCore::FontCache::getVerticalData): Return PassRefPtr<OpenTypeVerticalData>.
2041         (WebCore::FontCache::purgeInactiveFontData): Follow the change of OwnPtr -> RefPtr.
2042         * platform/graphics/FontCache.h:
2043         * platform/graphics/SimpleFontData.cpp:
2044         (WebCore::SimpleFontData::SimpleFontData):
2045         * platform/graphics/SimpleFontData.h:
2046         Use RefPtr instead of raw const pointer for OpenTypeVerticalData.
2047         (WebCore::SimpleFontData::verticalData):
2048         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2049         (WebCore::FontPlatformData::verticalData): Return PassRefPtr<OpenTypeVerticalData>.
2050         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2051         (FontPlatformData):
2052         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
2053         (WebCore::FontPlatformData::verticalData): Ditto.
2054         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
2055         (WebCore):
2056         (FontPlatformData):
2057         * platform/graphics/opentype/OpenTypeVerticalData.h:
2058         (WebCore::OpenTypeVerticalData::create): Added.
2059         (OpenTypeVerticalData):
2060
2061 2012-11-15  Xingnan Wang  <xingnan.wang@intel.com>
2062
2063         Optimize the multiply-add in Biquad.cpp::process
2064         https://bugs.webkit.org/show_bug.cgi?id=75528
2065
2066         Reviewed by Brent Fulgham.
2067
2068         Pipeline the multiply-add with SSE2 intrinsics.
2069         Get ~45% performance improvement for the function.
2070
2071         * platform/audio/Biquad.cpp:
2072         (WebCore::Biquad::process):
2073
2074 2012-11-15  Alec Flett  <alecflett@chromium.org>
2075
2076         Add tests for explicit serialization values
2077         https://bugs.webkit.org/show_bug.cgi?id=96818
2078
2079         Reviewed by Adam Barth.
2080
2081         Expose direct access to the serialization/deserialization mechanisms
2082         of SerializedScriptValue to DumpRenderTree.
2083
2084         * testing/Internals.cpp:
2085         (WebCore::Internals::serializeObject):
2086         (WebCore):
2087         (WebCore::Internals::deserializeBuffer):
2088         * testing/Internals.h:
2089         (WebCore):
2090         * testing/Internals.idl:
2091
2092 2012-11-15  Gustavo Noronha Silva  <gns@gnome.org>
2093
2094         [GTK] Split WebCore/platform into a separate library
2095         https://bugs.webkit.org/show_bug.cgi?id=94435
2096
2097         Reviewed by Martin Robinson.
2098
2099         More people have been reporting problems when linking WebCore because
2100         the command line limit is being exceeded. Splitting WebCore a bit more
2101         is in order.
2102
2103         * GNUmakefile.am: add new libWebCorePlatform convenience library.
2104         * GNUmakefile.list.am: move list of platform/* files to its own variable.
2105
2106 2012-11-15  Luke Macpherson   <macpherson@chromium.org>
2107
2108         Remove unused macro HANDLE_INHERIT_AND_INITIAL_WITH_VALUE in StyleResolver.cpp
2109         https://bugs.webkit.org/show_bug.cgi?id=102036
2110
2111         Reviewed by Darin Adler.
2112
2113         Remove HANDLE_INHERIT_AND_INITIAL_WITH_VALUE macro, as it is not used anywhere.
2114
2115         No tests added because code is unused, and compile is enough to verify that conculsively.
2116
2117         * css/StyleResolver.cpp:
2118
2119 2012-11-15  Erik Arvidsson  <arv@chromium.org>
2120
2121         Update DOMException name: SyntaxError
2122         https://bugs.webkit.org/show_bug.cgi?id=102279
2123
2124         Reviewed by Kentaro Hara.
2125
2126         Patch 12 of 25 to update DOMException name to match the spec and Firefox.
2127
2128         Updated existing tests.
2129
2130         * dom/DOMCoreException.cpp:
2131
2132 2012-11-15  Takashi Sakamoto  <tasak@google.com>
2133
2134         [Win] key event's location does not work on Windows platform.
2135         https://bugs.webkit.org/show_bug.cgi?id=89742
2136
2137         Reviewed by Brent Fulgham.
2138
2139         As WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, and WM_SYSKEYUP doesn't
2140         directly provide a virtual keycode which distinguish between left-hand
2141         and right-hand keys. To obtain a virtual keycode, we have to look at
2142         lparam, i.e. scancode and extended key bit. So if the given virtual
2143         keycode is control, shift, or menu, use MapVirtualKey with scancode and
2144         extended key bit and recreate a virtual keycode which distinguishes
2145         between left-hand and right-hand.
2146
2147         No new tests, because left-hand keys, right-hand keys layout tests
2148         have been already added.
2149
2150         * platform/win/KeyEventWin.cpp:
2151         (WebCore::windowsKeycodeWithLocation):
2152         Use wparam and lparam to recreate a virtual keycode which distinguishes
2153         between left-hand and right-hand if the given wparam (=virtual keycode)
2154         is control, shift, or menu.
2155         (WebCore):
2156         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2157         Use the newly added function to obtain windows virtual keycode.
2158
2159 2012-11-15  Joe Mason  <jmason@rim.com>
2160
2161         [BlackBerry] Don't assert when notifyAuthReceived is called with a different auth type
2162         https://bugs.webkit.org/show_bug.cgi?id=102436
2163
2164         Reviewed by Rob Buis.
2165
2166         The server type could change if we contact a site taking HTTP auth, through an HTTP proxy
2167         taking auth of its own. First we get a 407 from the proxy, and then when get past the
2168         proxy, we get a 401 from the end site - so notifyAuthReceived gets called again with auth
2169         type Proxy instead of HTTP.
2170
2171         The correct thing to do when that happens is skip the "update the auth type in the
2172         credentials" step, since these are actually new credentials and not just credentials being
2173         reused for a different auth type on the same server.
2174
2175         PR 241637
2176
2177         * platform/network/blackberry/NetworkJob.cpp:
2178         (WebCore::NetworkJob::notifyAuthReceived):
2179
2180 2012-11-15  Stephen Chenney  <schenney@chromium.org>
2181
2182         mpath elements do not clear resource lists before destruction
2183         https://bugs.webkit.org/show_bug.cgi?id=101505
2184
2185         Reviewed by Abhishek Arya.
2186
2187         The destructor for SVGMPathElement should clear its resources before
2188         deletion, so as not to leave hanging pointers in resource lists.
2189
2190         Test: svg/animations/mpath-remove-from-dependents-on-delete-crash.html
2191
2192         * svg/SVGMPathElement.cpp:
2193         (WebCore::SVGMPathElement::~SVGMPathElement): Add destructor that calls clearResourceReferences.
2194         (WebCore):
2195         * svg/SVGMPathElement.h:
2196         (SVGMPathElement): Add destructor.
2197
2198 2012-11-15  Kentaro Hara  <haraken@chromium.org>
2199
2200         Remove CodeGenerator::StripModule
2201         https://bugs.webkit.org/show_bug.cgi?id=102338
2202
2203         Reviewed by Adam Barth.
2204
2205         Now WebKit IDL files have no modules. (The Web IDL spec has no modules.)
2206         We can remove CodeGenerator::StripModule.
2207         This might break some internal builds if the internal builds are still
2208         using modules. Ping haraken@ you observe it.
2209
2210         No tests. No change in behavior.
2211
2212         * bindings/scripts/CodeGenerator.pm:
2213         (ForAllParents):
2214         (AttributeNameForGetterAndSetter):
2215         (IsStrictSubtype):
2216         * bindings/scripts/CodeGeneratorCPP.pm:
2217         (GetClassName):
2218         (GetImplClassName):
2219         (GetParentImplClassName):
2220         (GetParent):
2221         (ConversionNeeded):
2222         (GetCPPTypeGetter):
2223         (AddForwardDeclarationsForType):
2224         (AddIncludesForType):
2225         (GenerateImplementation):
2226         * bindings/scripts/CodeGeneratorGObject.pm:
2227         (GetParentClassName):
2228         (GetParentGObjType):
2229         (GetClassName):
2230         * bindings/scripts/CodeGeneratorJS.pm:
2231         (GetParentClassName):
2232         (AddIncludesForTypeInImpl):
2233         (AddIncludesForTypeInHeader):
2234         (GenerateParametersCheckExpression):
2235         (GenerateImplementation):
2236         (GenerateParametersCheck):
2237         (GetNativeTypeFromSignature):
2238         (JSValueToNative):
2239         (NativeToJSValue):
2240         * bindings/scripts/CodeGeneratorObjC.pm:
2241         (GetClassName):
2242         (GetImplClassName):
2243         (GetParentImplClassName):
2244         (GetParentAndProtocols):
2245         (GetPropertyAttributes):
2246         (ConversionNeeded):
2247         (GetObjCTypeGetter):
2248         (AddForwardDeclarationsForType):
2249         (AddIncludesForType):
2250         (GenerateImplementation):
2251         * bindings/scripts/CodeGeneratorV8.pm:
2252         (AddIncludesForType):
2253         (GenerateHeader):
2254         (IsSubType):
2255         (GenerateSingleBatchedAttribute):
2256         (GenerateImplementation):
2257         (BaseInterfaceName):
2258         (GetTypeFromSignature):
2259         (IsWrapperType):
2260
2261 2012-11-15  Luke Macpherson   <macpherson@chromium.org>
2262
2263         Make assumptions about m_parentStyle consistent within StyleResolver::applyProperty()
2264         https://bugs.webkit.org/show_bug.cgi?id=101696
2265
2266         Reviewed by Tony Chang.
2267
2268         Most of the code in StyleResolver::applyProperty assumes that isInherit implies that m_parentStyle is available.
2269         This patch ASSERTs that this assumption is correct, and removes the few existing checks to maintain consistency.
2270
2271         No new tests / covered by all existing CSS tests.
2272
2273         * css/StyleResolver.cpp:
2274         (WebCore::StyleResolver::applyProperty):
2275
2276 2012-11-15  Kentaro Hara  <haraken@chromium.org>
2277
2278         [V8] Remove redundant $interfaceName from function parameters
2279         https://bugs.webkit.org/show_bug.cgi?id=102334
2280
2281         Reviewed by Adam Barth.
2282
2283         'sub func { my $dataNode = shift; my $interfaceName = shift; }'
2284         is redundant. We can get $interfaceName by $dataNode->name.
2285
2286         No tests. No change in behavior.
2287
2288         * bindings/scripts/CodeGeneratorV8.pm:
2289         (GenerateOpaqueRootForGC):
2290         (GenerateHeader):
2291         (GenerateConstructorGetter):
2292         (GenerateNormalAttrGetter):
2293         (GenerateReplaceableAttrSetter):
2294         (GenerateNormalAttrSetter):
2295         (GenerateOverloadedFunctionCallback):
2296         (GenerateFunctionCallback):
2297         (GenerateOverloadedConstructorCallback):
2298         (GenerateSingleConstructorCallback):
2299         (GenerateConstructorCallback):
2300         (GenerateEventConstructorCallback):
2301         (GenerateTypedArrayConstructorCallback):
2302         (GenerateNamedConstructorCallback):
2303         (GenerateBatchedAttributeData):
2304         (GenerateImplementation):
2305         (GenerateToV8Converters):
2306         (GetNativeTypeForConversions):
2307
2308 2012-11-15  Simon Fraser  <simon.fraser@apple.com>
2309
2310         Ensure that scrollbar layers show debug borders
2311         https://bugs.webkit.org/show_bug.cgi?id=102429
2312
2313         Reviewed by Anders Carlsson.
2314
2315         After r133517, scrollbar layers no longer showed debug borders, which
2316         was very confusing. Fix this by explicitly calling setShowDebugBorder()
2317         on the scrollbar-related layers owned by RenderLayerCompositor
2318         and RenderLayerBacking.
2319         
2320         * rendering/RenderLayerBacking.cpp:
2321         (WebCore::RenderLayerBacking::updateDebugIndicators):
2322         * rendering/RenderLayerCompositor.cpp:
2323         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2324         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2325
2326 2012-11-15  Andreas Kling  <akling@apple.com>
2327
2328         ASSERTION FAILED: fastAttributeLookupAllowed(name) for 7 layout tests
2329         <http://webkit.org/b/102423>
2330
2331         Reviewed by Anders Carlsson.
2332
2333         Use Element::getAttributeItem() to find out if the element has a given attribute
2334         instead of fastHasAttribute() since that causes assertions for the "style" attribute.
2335
2336         * html/parser/HTMLConstructionSite.cpp:
2337         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
2338
2339 2012-11-15  Erik Arvidsson  <arv@chromium.org>
2340
2341         Update DOMException name: DOMStringSizeError
2342         https://bugs.webkit.org/show_bug.cgi?id=102089
2343
2344         Reviewed by Ojan Vafai.
2345
2346         Patch 2 of 25 to update DOMException name to match the spec and Firefox.
2347
2348         DOMSTRING_SIZE_ERR is historical and not used in any spec or in our code.
2349
2350         * dom/DOMCoreException.cpp:
2351         * dom/ExceptionCode.h:
2352
2353 2012-11-15  Joshua Bell  <jsbell@chromium.org>
2354
2355         IndexedDB: Indexing tests are flaky-crashing
2356         https://bugs.webkit.org/show_bug.cgi?id=102283
2357
2358         Reviewed by Tony Chang.
2359
2360         Processing the final task can cause IDBTransactionBackendImpl references to be released
2361         by all holders. Prior to looping over the tasks (or, in an even earlier implementation,
2362         swapping queues) control would fall off the end of the function. The loop termination
2363         check introduced in http://wkrev.com/134529 requires that |this| be kept alive until
2364         the method completes.
2365
2366         Test: storage/indexeddb/transaction-crash-in-tasks.html
2367
2368         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2369         (WebCore::IDBTransactionBackendImpl::abort): Rename self => protect.
2370         (WebCore::IDBTransactionBackendImpl::commit): Rename self => protect.
2371         (WebCore::IDBTransactionBackendImpl::taskTimerFired): New self-ref.
2372
2373 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
2374
2375         MutationObserver wrapper should not be collected while still observing
2376         https://bugs.webkit.org/show_bug.cgi?id=102328
2377
2378         Reviewed by Adam Barth.
2379
2380         Make MutationObserver an ActiveDOMObject so that the wrapper is not
2381         collected while it is still observing the DOM. This is needed because
2382         the wrapper is passed into the callback and expandos on the wrapper
2383         should be preserved.
2384
2385         Test: fast/mutation/observer-wrapper-dropoff.html
2386
2387         * bindings/js/JSMutationObserverCustom.cpp:
2388         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
2389         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2390         (WebCore::V8MutationObserver::constructorCallback):
2391         * dom/MutationObserver.cpp:
2392         (WebCore::MutationObserver::create):
2393         (WebCore::MutationObserver::MutationObserver):
2394         (WebCore::MutationObserver::observationStarted):
2395         (WebCore::MutationObserver::observationEnded):
2396         * dom/MutationObserver.h:
2397         (WebCore):
2398         * dom/MutationObserver.idl:
2399
2400 2012-11-15  Tony Chang  <tony@chromium.org>
2401
2402         Generate Settings from a .in file
2403         https://bugs.webkit.org/show_bug.cgi?id=100393
2404
2405         Reviewed by Adam Barth.
2406
2407         Generate most settings from an .in file to reduce human mistakes and
2408         to make it easier to add/remove new settings.
2409
2410         I only moved settings that are easy to move at this point.  There are many more that
2411         have some minor naming inconsistencies that we can also move to Settings.in, but I'll
2412         do that in a follow up patch.
2413
2414         This doesn't generate SettingInternals.* yet-- we can do that in a follow up patch.
2415
2416         No new tests, this is a refactor.
2417
2418         * CMakeLists.txt:
2419         * DerivedSources.make: Run make_settings.pl.
2420         * DerivedSources.pri: Run make_settings.pl.
2421         * GNUmakefile.am: Run make_settings.pl.
2422         * GNUmakefile.list.am:
2423         * WebCore.exp.in: Remove functions that are now inline in the header.
2424         * WebCore.gyp/WebCore.gyp: Run action_makenames.py, which will run make_settings.pl.
2425         * WebCore.gyp/scripts/action_makenames.py:
2426         (main): Allow make_settings.pl.
2427         * WebCore.order: Remove functions that are now inline in the header.
2428         * html/ValidationMessage.cpp:
2429         (WebCore::ValidationMessage::setMessageDOMAndStartTimer): Fix a typo in "magnification".
2430         * page/Settings.cpp:
2431         (WebCore::Settings::Settings): Replace generated settings with SETTINGS_INITIALIZER_LIST.
2432         * page/Settings.h:
2433         (Settings): Replace generated settings with SETTINGS_GETTERS_AND_SETTERS and SETTINGS_MEMBER_VARIABLES.
2434         * page/Settings.in: Added.
2435         * page/make_settings.pl: Added.
2436         (defaultItemFactory):
2437         (generateCode):
2438         (generateHeader): Use a similar model as make_names.pl.
2439         (printConditionalMacros):
2440         (printGettersAndSetters):
2441         (printMemberVariables):
2442         (printGetterAndSetter):
2443         (printInitializerList):
2444         (printInitializer):
2445
2446 2012-11-15  Alpha Lam  <hclam@chromium.org>
2447
2448         [chromium] Refactoring to move logic of creating lazy decoded SkBitmap into DeferredImageDecoder
2449         https://bugs.webkit.org/show_bug.cgi?id=102019
2450
2451         Reviewed by Stephen White.
2452
2453         Goal of this change is to keep ImageDecodingStore clean and only do
2454         image caching. Logic of creating lazily decoded SkBitmaps is moved into
2455         DeferredImageDecoder.
2456
2457         In particular these two methods are moved:
2458         - ImageDecodingStore::createLazyDecodedSkBitmap
2459         - ImageDecodingStore::resizeLazyDecodedSkBitmap
2460
2461         No new tests. There is no new code (really). It is just moved from
2462         ImageDecodingStore to DeferredImageDecoder.
2463
2464         No change in behavior. Code is tested with:
2465         Unit tests: webkit_unit_tests
2466         Layout test: platform/chromium/virtual/deferred
2467
2468         * platform/graphics/chromium/DeferredImageDecoder.cpp:
2469         (WebCore::DeferredImageDecoder::isLazyDecoded):
2470         (WebCore):
2471         (WebCore::DeferredImageDecoder::resizeLazyDecodedSkBitmap):
2472         (WebCore::DeferredImageDecoder::frameBufferAtIndex):
2473         (WebCore::DeferredImageDecoder::setData):
2474         (WebCore::DeferredImageDecoder::createLazyDecodedSkBitmap):
2475         * platform/graphics/chromium/DeferredImageDecoder.h:
2476         (WebCore):
2477         (DeferredImageDecoder):
2478         * platform/graphics/chromium/ImageDecodingStore.cpp:
2479         * platform/graphics/chromium/ImageDecodingStore.h:
2480         (ImageDecodingStore):
2481         * platform/graphics/chromium/ImageFrameGenerator.cpp:
2482         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
2483         * platform/graphics/chromium/ImageFrameGenerator.h:
2484         (WebCore::ImageFrameGenerator::create):
2485         (ImageFrameGenerator):
2486         * platform/graphics/skia/NativeImageSkia.cpp:
2487         (WebCore::NativeImageSkia::resizedBitmap):
2488
2489 2012-11-15  Roger Fong  <roger_fong@apple.com>
2490
2491         Unreviewed. Build fix for Windows after r134767.
2492
2493         Update vsprops and vcproj files to reflect changes to file locations in r134767.
2494
2495         * WebCore.vcproj/WebCore.vcproj:
2496         * WebCore.vcproj/WebCoreCommon.vsprops:
2497
2498 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
2499
2500         Track subframe count to avoid traversing the tree when there's no subframes
2501         https://bugs.webkit.org/show_bug.cgi?id=101821
2502
2503         Reviewed by Ojan Vafai.
2504
2505         Bug 101619 showed a 9-14% improvement from not walking the children during
2506         removeChild looking for frames when there's known to be no frames. The fix
2507         in that bug only avoids this walk when the whole document has no frames, this
2508         patch extends it to skip traversing subtrees that have no iframes by hooking
2509         the frame assignment to walk up the tree and keep track of the count of frames
2510         in the subtree on contentFrame assignment and then decrement it on disconnect.
2511
2512         No new tests, this is just a perf refactor.
2513
2514         * dom/ContainerNode.cpp:
2515         (WebCore::willRemoveChildren):
2516         * dom/ContainerNodeAlgorithms.cpp:
2517         (WebCore::ChildFrameDisconnector::collectFrameOwners):
2518         * dom/ContainerNodeAlgorithms.h:
2519         (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
2520         (ChildFrameDisconnector):
2521         (WebCore::ChildFrameDisconnector::collectFrameOwners):
2522           Renamed from collectDescendant() to better reflect what it really does.
2523         (WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):
2524           Renamed from disconnect() to better reflect what it really does.
2525         (WebCore::ChildFrameDisconnector::disconnect):
2526           New method that does the collection of frame owners on either the root
2527           or only it's descendants.
2528         * dom/Node.cpp:
2529         (WebCore::Node::connectedSubframeCount):
2530         (WebCore::Node::incrementConnectedSubframeCount):
2531         (WebCore::Node::decrementConnectedSubframeCount):
2532         * dom/Node.h:
2533         * dom/NodeRareData.h:
2534         (WebCore::NodeRareData::NodeRareData):
2535         (WebCore::NodeRareData::connectedSubframeCount):
2536         (WebCore::NodeRareData::incrementConnectedSubframeCount):
2537         (WebCore::NodeRareData::decrementConnectedSubframeCount):
2538         * html/HTMLFrameOwnerElement.cpp:
2539         (WebCore::HTMLFrameOwnerElement::setContentFrame):
2540         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
2541
2542 2012-11-15  Alpha Lam  <hclam@chromium.org>
2543
2544         [chromium] WebGL texImage2D fails with deferred image decoding
2545         https://bugs.webkit.org/show_bug.cgi?id=102310
2546
2547         Reviewed by Kenneth Russell.
2548
2549         Skia's implementation of GraphicsContext3D::getImageData() uses ImageSource
2550         to decode an image. When deferred image decoding is enabled this class
2551         generates an ImageFrame marked as incomplete, which WebGL rejects. This results
2552         in failing of texImage2D.
2553
2554         This change uses ImageDecoder directly instead of ImageSource. This skips
2555         the code path of deferred image decoding. This behavior is correct because
2556         GraphicsContext3D wants to decode the image differently with alpha not
2557         premultiplied and color profile applied optionally.
2558
2559         Added a test to prove this change fixed the bug.
2560
2561         Test: fast/images/webgl-teximage2d.html
2562
2563         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2564         (WebCore::GraphicsContext3D::getImageData):
2565
2566 2012-11-15  Jer Noble  <jer.noble@apple.com>
2567
2568         Further unreviewed build fix. Add explicit static_casts to avoid implicit precision warnings.
2569
2570         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2571         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):
2572
2573 2012-11-15  Jer Noble  <jer.noble@apple.com>
2574
2575         Unreviewed build fix. Avoid implicit precision and unused parameter warnings.
2576
2577         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2578         (WebCore::WebCoreAVFResourceLoader::responseReceived):
2579         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):
2580
2581 2012-11-15  Adam Barth  <abarth@webkit.org>
2582
2583         [V8] We shouldn't call deprecated V8 APIs
2584         https://bugs.webkit.org/show_bug.cgi?id=102407
2585
2586         Reviewed by Eric Seidel.
2587
2588         This patch was written by Sven Panne on the V8 team. He would prefer
2589         that we not call deprecated V8 APIs. This patch updates these call
2590         sites to more modern idioms.
2591
2592         * bindings/scripts/CodeGeneratorV8.pm:
2593         (GenerateConstructorGetter):
2594         (GenerateImplementation):
2595         * bindings/scripts/test/V8/V8TestObj.cpp:
2596         (WebCore::TestObjV8Internal::TestObjConstructorGetter):
2597         * bindings/v8/PageScriptDebugServer.cpp:
2598         (WebCore::PageScriptDebugServer::addListener):
2599         * bindings/v8/ScriptController.cpp:
2600         (WebCore::ScriptController::setContextDebugId):
2601         (WebCore::ScriptController::contextDebugId):
2602         * bindings/v8/ScriptProfiler.cpp:
2603         (WebCore::ScriptProfiler::objectByHeapObjectId):
2604             - This code doesn't seem to do anything anymore.
2605         * bindings/v8/V8DOMConfiguration.h:
2606         (WebCore::V8DOMConfiguration::configureAttribute):
2607         * bindings/v8/V8DOMWindowShell.cpp:
2608         (WebCore::setInjectedScriptContextDebugId):
2609         * bindings/v8/V8DOMWrapper.cpp:
2610         (WebCore::V8DOMWrapper::maybeDOMWrapper):
2611         (WebCore::V8DOMWrapper::isWrapperOfType):
2612         * bindings/v8/V8EventListenerList.h:
2613         (WebCore::V8EventListenerList::doFindWrapper):
2614         (WebCore::V8EventListenerList::findOrCreateWrapper):
2615         * bindings/v8/WorkerContextExecutionProxy.cpp:
2616         (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
2617         * bindings/v8/WrapperTypeInfo.h:
2618         (WebCore::WrapperTypeInfo::unwrap):
2619
2620 2012-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2621
2622         Unreviewed, rolling out r134800 and r134805.
2623         http://trac.webkit.org/changeset/134800
2624         http://trac.webkit.org/changeset/134805
2625         https://bugs.webkit.org/show_bug.cgi?id=102417
2626
2627         This patch broke chromium port (Requested by jianli on
2628         #webkit).
2629
2630         * Modules/mediastream/RTCPeerConnection.cpp:
2631         (WebCore::RTCPeerConnection::RTCPeerConnection):
2632         (WebCore::RTCPeerConnection::createOffer):
2633         (WebCore::RTCPeerConnection::createAnswer):
2634         (WebCore::RTCPeerConnection::setLocalDescription):
2635         (WebCore::RTCPeerConnection::localDescription):
2636         (WebCore::RTCPeerConnection::setRemoteDescription):
2637         (WebCore::RTCPeerConnection::remoteDescription):
2638         (WebCore::RTCPeerConnection::updateIce):
2639         (WebCore::RTCPeerConnection::addIceCandidate):
2640         (WebCore::RTCPeerConnection::readyState):
2641         (WebCore::RTCPeerConnection::iceState):
2642         (WebCore::RTCPeerConnection::addStream):
2643         (WebCore::RTCPeerConnection::close):
2644         (WebCore::RTCPeerConnection::stop):
2645         (WebCore::RTCPeerConnection::changeReadyState):
2646         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
2647         * Modules/mediastream/RTCPeerConnection.h:
2648         (RTCPeerConnection):
2649         * Modules/mediastream/RTCPeerConnection.idl:
2650         * dom/EventNames.h:
2651         (WebCore):
2652         * platform/mediastream/RTCDataChannelDescriptor.cpp:
2653         (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
2654         (WebCore::RTCDataChannelDescriptor::readyStateChanged):
2655         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
2656         (RTCPeerConnectionHandlerClient):
2657         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2658         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2659         (RTCPeerConnectionHandlerChromium):
2660
2661 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
2662
2663         Remove Node::aboutToUnload and be more explicit about what it was for
2664         https://bugs.webkit.org/show_bug.cgi?id=102357
2665
2666         Reviewed by Ryosuke Niwa.
2667
2668         Node::aboutToUnload was confusingly named because it was only called on
2669         the focused node, and it really only existed to support notifying the
2670         embedder that inputs should stop being editable on unload. Instead add
2671         a new method to HTMLInputElement that ends editing and call that
2672         explicitly in the FrameLoader so it's clear what this is about.
2673
2674         No new tests, this is just a refactoring.
2675
2676         * dom/Node.h:
2677         * html/HTMLInputElement.cpp:
2678         (WebCore::HTMLInputElement::endEditing):
2679             New method that handles finishing editing.
2680         * html/HTMLInputElement.h:
2681         (HTMLInputElement):
2682         * html/TextFieldInputType.cpp:
2683         (WebCore::TextFieldInputType::handleBlurEvent):
2684             Use the new method to reduce code duplication.
2685         * loader/FrameLoader.cpp:
2686         (WebCore::FrameLoader::stopLoading):
2687             Be explicit about what this check was for.
2688
2689 2012-11-15  Tommy Widenflycht  <tommyw@google.com>
2690
2691         [chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
2692         https://bugs.webkit.org/show_bug.cgi?id=102386
2693
2694         Reviewed by Adam Barth.
2695
2696         Existing tests expanded to cover patch.
2697
2698         * platform/mediastream/RTCDataChannelDescriptor.cpp:
2699         (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
2700         (WebCore::RTCDataChannelDescriptor::readyStateChanged):
2701         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2702         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
2703         (WebCore):
2704         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2705         (WebKit):
2706         (RTCPeerConnectionHandlerChromium):
2707
2708 2012-11-15  Rick Byers  <rbyers@chromium.org>
2709
2710         No tests for changing mouse cursors
2711         https://bugs.webkit.org/show_bug.cgi?id=100550
2712
2713         Reviewed by Brent Fulgham.
2714
2715         Add infrastructure to keep track of the last set mouse cursor,
2716         and then to query it from DumpRenderTree.  Also adds ASSERTs to help ensure
2717         we can reliably detect when an uninitialized Cursor object is used (such as
2718         the one that can be returned from OptionalCursor in the NoCursorChange scenario).
2719
2720         Test: fast/events/mouse-cursor.html
2721
2722         * WebCore.exp.in: Add Cursor copy ctor export
2723         * page/EventHandler.cpp:
2724         (WebCore::OptionalCursor::cursor):
2725         (WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor
2726         * page/EventHandler.h:
2727         (WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor
2728         * platform/Cursor.h:
2729         (WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
2730         (WebCore::Cursor::type): Assert cursor type is valid.
2731         * testing/Internals.cpp:
2732         (WebCore::cursorTypeToString): Helper to convert cursor type to enum
2733         (WebCore):
2734         (WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor
2735         * testing/Internals.h: Declare getCurrentCursorInfo
2736         * testing/Internals.idl: Declare getCurrentCursorInfo
2737
2738 2012-11-13  Jer Noble  <jer.noble@apple.com>
2739
2740         Support loading of blob URLs in AVFoundation.
2741         https://bugs.webkit.org/show_bug.cgi?id=102182
2742
2743         Reviewed by Eric Carlson.
2744
2745         Add support for BLOB (and other non-natively supported schemed) URLs through the AVAssetResourceLoader API.
2746
2747         Test: media/video-src-blob.html
2748
2749         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2750         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2751         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Only go down the encrypted
2752             media path if the key scheme is skp://.
2753         (WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Added.  Cancel resource loading if
2754             the media engine requests it.
2755         (WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Use the new, non-deprecated API.
2756         
2757         Use the dispatch_main_queue() as the AVAssetResourceLoadDelegate queue now that <rdar://problem/12362461> is fixed.
2758         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2759         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
2760         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
2761         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
2762
2763         Add a new helper class to manage loading the CachedRawResource and feed the incoming
2764         data to the AVAssetResourceLoader.
2765         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Added.
2766         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: Added.
2767         (WebCore::WebCoreAVFResourceLoader::create): Simple factory.
2768         (WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader): Simple constructor.
2769         (WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader): Simple destructor.
2770         (WebCore::WebCoreAVFResourceLoader::startLoading): Tell the cachedResourceLoader to schedule loading.
2771         (WebCore::WebCoreAVFResourceLoader::stopLoading): Remove this as a client of the resource.
2772         (WebCore::WebCoreAVFResourceLoader::responseReceived): Fill in the contentInformation field of the 
2773             AVAssetResourceLoadingRequest.
2774         (WebCore::WebCoreAVFResourceLoader::dataReceived): Call fulfillRequestWithResource.
2775         (WebCore::WebCoreAVFResourceLoader::notifyFinished): Tell the AVAssetResourceLoadingRequest that loading
2776             has completed.
2777         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Fill in (if possible) the dataRequest
2778             field of the AVAssetResourceLoadingRequest.
2779
2780         Add a MediaPlayerClient method allowing MediaPlayerPrivate subclasses to access the HTMLMediaElement's
2781         document's cachedResourceLoader.
2782         * html/HTMLMediaElement.cpp:
2783         (WebCore::HTMLMediaElement::mediaPlayerCachedResourceLoader):
2784         * html/HTMLMediaElement.h:
2785         * platform/graphics/MediaPlayer.cpp:
2786         (WebCore::MediaPlayer::cachedResourceLoader):
2787         * platform/graphics/MediaPlayer.h:
2788         (WebCore::MediaPlayerClient::mediaPlayerCachedResourceLoader):
2789
2790         Add a convenience method to convert from MIME type -> UTI.
2791         * platform/network/mac/UTIUtilities.h:
2792         * platform/network/mac/UTIUtilities.mm:
2793         (WebCore::UTIFromMIMEType):
2794
2795         Add new files to project.
2796         * WebCore.xcodeproj/project.pbxproj:
2797
2798 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2799
2800         Remove initiallyFitToViewport attribute
2801         https://bugs.webkit.org/show_bug.cgi?id=102392
2802
2803         Reviewed by Noam Rosenthal.
2804
2805         Remove the initiallyFitToViewport which shouldn't have been
2806         added in the first place. We now reset userScalable to auto (-1)
2807         in case it was not explicitly set by the web author.
2808
2809         Same behavior, covered by existing tests.
2810
2811         * dom/ViewportArguments.cpp:
2812         (WebCore::ViewportArguments::resolve):
2813         * dom/ViewportArguments.h:
2814         (ViewportAttributes):
2815
2816 2012-11-15  Tommy Widenflycht  <tommyw@google.com>
2817
2818         MediaStream API: Update RTCPeerConnection states to match the latest editors draft
2819         https://bugs.webkit.org/show_bug.cgi?id=102382
2820
2821         Reviewed by Adam Barth.
2822
2823         Updating readyState & iceState, and adding iceGatheringState.
2824         Also safeguarding the event timer callback.
2825
2826         Patch covered by existing tests.
2827
2828         * Modules/mediastream/RTCPeerConnection.cpp:
2829         (WebCore::RTCPeerConnection::RTCPeerConnection):
2830         (WebCore::RTCPeerConnection::createOffer):
2831         (WebCore::RTCPeerConnection::createAnswer):
2832         (WebCore::RTCPeerConnection::setLocalDescription):
2833         (WebCore::RTCPeerConnection::localDescription):
2834         (WebCore::RTCPeerConnection::setRemoteDescription):
2835         (WebCore::RTCPeerConnection::remoteDescription):
2836         (WebCore::RTCPeerConnection::updateIce):
2837         (WebCore::RTCPeerConnection::addIceCandidate):
2838         (WebCore::RTCPeerConnection::readyState):
2839         (WebCore::RTCPeerConnection::iceGatheringState):
2840         (WebCore):
2841         (WebCore::RTCPeerConnection::iceState):
2842         (WebCore::RTCPeerConnection::addStream):
2843         (WebCore::RTCPeerConnection::close):
2844         (WebCore::RTCPeerConnection::didChangeIceGatheringState):
2845         (WebCore::RTCPeerConnection::stop):
2846         (WebCore::RTCPeerConnection::changeReadyState):
2847         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
2848         * Modules/mediastream/RTCPeerConnection.h:
2849         (RTCPeerConnection):
2850         * Modules/mediastream/RTCPeerConnection.idl:
2851         * dom/EventNames.h:
2852         (WebCore):
2853         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
2854         (RTCPeerConnectionHandlerClient):
2855         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2856         (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
2857         (WebCore):
2858         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2859         (RTCPeerConnectionHandlerChromium):
2860
2861 2012-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2862
2863         Unreviewed, rolling out r134649 and r134665.
2864         http://trac.webkit.org/changeset/134649
2865         http://trac.webkit.org/changeset/134665
2866         https://bugs.webkit.org/show_bug.cgi?id=102413
2867
2868         Broke a ton of downstream chromium tests (Requested by japhet
2869         on #webkit).
2870
2871         * loader/DocumentLoader.cpp:
2872         (WebCore::DocumentLoader::DocumentLoader):
2873         (WebCore::DocumentLoader::~DocumentLoader):
2874         (WebCore::DocumentLoader::finishedLoading):
2875         (WebCore::DocumentLoader::clearMainResourceLoader):
2876         (WebCore::DocumentLoader::isLoadingInAPISense):
2877         (WebCore::DocumentLoader::documentURL):
2878         (WebCore::DocumentLoader::isLoadingMainResource):
2879         (WebCore::DocumentLoader::startLoadingMainResource):
2880         * loader/DocumentLoader.h:
2881         (DocumentLoader):
2882         * loader/FrameLoader.cpp:
2883         (WebCore::FrameLoader::FrameLoader):
2884         (WebCore::FrameLoader::init):
2885         * loader/FrameLoaderStateMachine.cpp:
2886         (WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):
2887         * loader/FrameLoaderStateMachine.h:
2888         * loader/MainResourceLoader.cpp:
2889         (WebCore::shouldLoadAsEmptyDocument):
2890         (WebCore):
2891         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2892         (WebCore::MainResourceLoader::didReceiveResponse):
2893         (WebCore::MainResourceLoader::didFinishLoading):
2894         (WebCore::MainResourceLoader::handleEmptyLoad):
2895         (WebCore::MainResourceLoader::loadNow):
2896         (WebCore::MainResourceLoader::load):
2897         * loader/MainResourceLoader.h:
2898         (MainResourceLoader):
2899
2900 2012-11-15  Kentaro Hara  <haraken@chromium.org>
2901
2902         Correct syntax of old-style IDL files
2903         https://bugs.webkit.org/show_bug.cgi?id=102335
2904
2905         Reviewed by Adam Barth.
2906
2907         Recently tasak@ corrected an IDL syntax of almost all IDL files.
2908         We should correct the rest of them.
2909
2910         No tests. No change in behavior.
2911
2912         * html/canvas/OESElementIndexUint.idl:
2913         * page/PerformanceMark.idl:
2914         * page/PerformanceMeasure.idl:
2915
2916 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
2917
2918         Remove isHTMLInputElement since it's unused and toInputElement exists 
2919         https://bugs.webkit.org/show_bug.cgi?id=102358
2920
2921         Reviewed by Ojan Vafai.
2922
2923         Remove isHTMLInputElement as no one uses it. Everyone just uses
2924         Node::toInputElement and checks for a 0 return value instead.
2925
2926         toInputElement is also more reliable as there's no requirement that
2927         subclasses of HTMLInputElement have the tag name of inputTag so using
2928         this method in a check could potentially miss future subclasses with
2929         different tag names, though none exist right now.
2930
2931         No new tests, this just deletes dead code.
2932
2933         * html/HTMLInputElement.h:
2934
2935 2012-11-15  Erik Arvidsson  <arv@chromium.org>
2936
2937         Update DOMException name: NotSupportedError
2938         https://bugs.webkit.org/show_bug.cgi?id=102139
2939
2940         Reviewed by Ojan Vafai.
2941
2942         Patch 9 of 25 to update DOMException name to match the spec and Firefox.
2943
2944         Updated existing tests.
2945
2946         * dom/DOMCoreException.cpp:
2947
2948 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
2949
2950         Remove isHTMLInputElement since it's unused and toInputElement exists 
2951         https://bugs.webkit.org/show_bug.cgi?id=102358
2952
2953         Reviewed by Ojan Vafai.
2954
2955         Remove isHTMLInputElement as no one uses it. Everyone just uses
2956         Node::toInputElement and checks for a 0 return value instead.
2957
2958         toInputElement is also more reliable as there's no requirement that
2959         subclasses of HTMLInputElement have the tag name of inputTag so using
2960         this method in a check could potentially miss future subclasses with
2961         different tag names, though none exist right now.
2962
2963         No new tests, this just deletes dead code.
2964
2965         * html/HTMLInputElement.h:
2966
2967 2012-11-15  Erik Arvidsson  <arv@chromium.org>
2968
2969         Update DOMException name: NoModificationAllowedError
2970         https://bugs.webkit.org/show_bug.cgi?id=102134
2971
2972         Reviewed by Ojan Vafai.
2973
2974         Patch 7 of 25 to update DOMException name to match the spec and Firefox.
2975
2976         Updated existing tests.
2977
2978         * dom/DOMCoreException.cpp:
2979
2980 2012-11-15  Miguel Garcia  <miguelg@chromium.org>
2981
2982         Remove unnecesary dependencies INPUT_TYPE_COLOR
2983         https://bugs.webkit.org/show_bug.cgi?id=102379
2984
2985         Reviewed by Darin Adler.
2986
2987         Platforms should be able to enable INPUT_TYPE_COLOR without enabling
2988         CALENDAR_PICKER and DATALIST_ELEMENT. Before this patch however there would be
2989         compile errors in such configuration.
2990
2991         No new tests since this is not adding any extra functionality.
2992
2993         * WebCore.gyp/WebCore.gyp:
2994         * html/ColorInputType.cpp:
2995         (WebCore::ColorInputType::shouldShowSuggestions):
2996         * make-file-arrays.py:
2997         (main):
2998
2999 2012-11-15  Eric Carlson  <eric.carlson@apple.com>
3000
3001         Update computed line position algorithm
3002         https://bugs.webkit.org/show_bug.cgi?id=93779
3003
3004         Reviewed by Philippe Normand.
3005
3006         Compute the position of a text track relative to rendered tracks. This is needed to position
3007         cues correctly when there is more than one text track.
3008
3009         Test: media/track/track-cue-container-rendering-position.html
3010
3011         * html/track/TextTrack.cpp:
3012         (WebCore::TextTrack::invalidateTrackIndex): Invalidate both cached track indices.
3013         (WebCore::TextTrack::trackIndexRelativeToRenderedTracks): Return the index of the track relative
3014             to other rendered tracks.
3015         * html/track/TextTrack.h:
3016
3017         * html/track/TextTrackCue.cpp:
3018         (WebCore::TextTrackCue::calculateComputedLinePosition): Use trackIndexRelativeToRenderedTracks()
3019             instead of trackIndex() so cues are positioned correctly.
3020
3021         * html/track/TextTrackList.cpp:
3022         (TextTrackList::getTrackIndex): Change return type from unsigned to int.
3023         (TextTrackList::getTrackIndexRelativeToRenderedTracks): New.
3024         * html/track/TextTrackList.h:
3025
3026 2012-11-15  Dominik Röttsches  <dominik.rottsches@intel.com>
3027
3028         [EFL] Bump Harfbuzz to allow fixing bug 101009 on EFL
3029         https://bugs.webkit.org/show_bug.cgi?id=101323
3030
3031         Reviewed by Martin Robinson.
3032
3033         Removing ifdef since we bumped Harfbuzz dependency. This is the
3034         real fix replacing the previous workaround of having a Chromium
3035         specific ifdef here, since Chromium uses a newer HarfBuzz version
3036         already.
3037
3038         No new tests, covered by css3/flexbox/inline-flex-crash.html
3039         which will not crash anymore even with the ifdef removed.
3040
3041         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
3042         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
3043
3044 2012-11-15  Andreas Kling  <kling@webkit.org>
3045
3046         REGRESSION(r134408): Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement().
3047         <http://webkit.org/b/102304>
3048
3049         Reviewed by Anders Carlsson.
3050
3051         Test: fast/dom/cloneNode-below-body-attribute-merging.html
3052
3053         * html/parser/HTMLConstructionSite.cpp:
3054         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3055
3056             Use Element::fastHasAttribute() to determine if a given attribute is already present on the element
3057             we're merging attributes into.
3058
3059         * dom/ElementAttributeData.h:
3060         (ElementAttributeData):
3061
3062             Remove a now-unnecessary friend declaration.
3063
3064 2012-11-15  Elliott Sprehn  <esprehn@chromium.org>
3065
3066         Prevent creation of detached frames in ShadowRoot
3067         https://bugs.webkit.org/show_bug.cgi?id=102333
3068
3069         Reviewed by Dimitri Glazkov.
3070
3071         Similar to Bug 94717 you can create a loaded iframe in a detached
3072         subtree using ShadowRoot. To fix this we just need to make
3073         SubframeLoadingDisabler traverse through shadow boundaries.
3074
3075         Test: fast/frames/detached-shadow-frame.html
3076
3077         * html/HTMLFrameOwnerElement.h:
3078         (WebCore::SubframeLoadingDisabler::canLoadFrame):
3079
3080 2012-11-15  Shinya Kawanaka  <shinyak@chromium.org>
3081
3082         Changing pseudoClass (:visited) should cause distribution.
3083         https://bugs.webkit.org/show_bug.cgi?id=101700
3084
3085         Reviewed by Dimitri Glazkov.
3086
3087         When href attribute of an anchor or area element is changed, we have to invalidate distribution.
3088
3089         Since we would like to check a few pseudoClasses at once, we make the argument of
3090         SelectRuleFeatureSet::hasSelectorFor int.
3091
3092         Tests: fast/dom/shadow/pseudoclass-update-visited-anchor.html
3093                fast/dom/shadow/pseudoclass-update-visited-area.html
3094
3095         * dom/ElementShadow.cpp:
3096         (WebCore::invalidateParentDistributionIfNecessary):
3097         * dom/ElementShadow.h:
3098         (WebCore):
3099         * html/HTMLAnchorElement.cpp:
3100         (WebCore::HTMLAnchorElement::parseAttribute):
3101         * html/shadow/SelectRuleFeatureSet.h:
3102         (WebCore::SelectRuleFeatureSet::hasSelectorFor):
3103
3104 2012-11-15  Balazs Kelemen  <kbalazs@webkit.org>
3105
3106         Coordinated Graphics: support the "freeze animations" API
3107         https://bugs.webkit.org/show_bug.cgi?id=100703
3108
3109         Reviewed by Noam Rosenthal.
3110
3111         Make animations resumable in Coordinated Graphics.
3112         Pausing was already implemented.
3113
3114         Tested with animations and transitions tests. No tests to be
3115         unskipped because these tests has been working without this API
3116         as well (although this is the preferred way).
3117
3118         * platform/graphics/GraphicsLayerAnimation.cpp:
3119         (WebCore::GraphicsLayerAnimation::apply):
3120         (WebCore::GraphicsLayerAnimation::computeTotalRunningTime):
3121         Do not consider the time while we was suspended as part of
3122         the total running time.
3123         (WebCore):
3124         (WebCore::GraphicsLayerAnimation::resume):
3125         (WebCore::GraphicsLayerAnimations::suspend):
3126         (WebCore::GraphicsLayerAnimations::resume):
3127         * platform/graphics/GraphicsLayerAnimation.h:
3128         (GraphicsLayerAnimation):
3129         (GraphicsLayerAnimations):
3130
3131 2012-11-15  Gabor Rapcsanyi  <rgabor@webkit.org>
3132
3133         Relocate the ARM NEON SVG filter optimizations
3134         https://bugs.webkit.org/show_bug.cgi?id=102214
3135
3136         Reviewed by Zoltan Herczeg.
3137
3138         Relocate the ARM filter optimizations into platform/graphics/cpu/arm
3139         to keep them together with the others.
3140         From now all graphics optimization for ARM NEON should go here.
3141
3142         * CMakeLists.txt:
3143         * GNUmakefile.am:
3144         * GNUmakefile.list.am:
3145         * Target.pri:
3146         * WebCore.gyp/WebCore.gyp:
3147         * WebCore.gypi:
3148         * WebCore.pri:
3149         * WebCore.xcodeproj/project.pbxproj:
3150         * platform/graphics/cpu/arm/filters/FEBlendNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEBlendNEON.h.
3151         (WebCore):
3152         (FEBlendUtilitiesNEON):
3153         (WebCore::FEBlendUtilitiesNEON::div255):
3154         (WebCore::FEBlendUtilitiesNEON::normal):
3155         (WebCore::FEBlendUtilitiesNEON::multiply):
3156         (WebCore::FEBlendUtilitiesNEON::screen):
3157         (WebCore::FEBlendUtilitiesNEON::darken):
3158         (WebCore::FEBlendUtilitiesNEON::lighten):
3159         (WebCore::FEBlend::platformApplyNEON):
3160         * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FECompositeArithmeticNEON.h.
3161         (WebCore):
3162         (WebCore::FEComposite::computeArithmeticPixelsNeon):
3163         (WebCore::FEComposite::platformArithmeticNeon):
3164         * platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.h.
3165         (WebCore):
3166         (WebCore::boxBlurNEON):
3167         * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp.
3168         (WebCore):
3169         (WebCore::feLightingConstantsForNeon):
3170         (WebCore::FELighting::platformApplyNeonWorker):
3171         (WebCore::FELighting::getPowerCoefficients):
3172         * platform/graphics/cpu/arm/filters/FELightingNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.h.
3173         (WebCore):
3174         (FELightingFloatArgumentsForNeon):
3175         (FELightingPaintingDataForNeon):
3176         (WebCore::FELighting::platformApplyNeon):
3177         * platform/graphics/cpu/arm/filters/NEONHelpers.h: Renamed from Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h.
3178         (WebCore):
3179         (WebCore::loadRGBA8AsFloat):
3180         (WebCore::storeFloatAsRGBA8):
3181
3182 2012-11-15  Mike West  <mkwst@chromium.org>
3183
3184         We should trigger a console warning when we encounter invalid sandbox flags.
3185         https://bugs.webkit.org/show_bug.cgi?id=101956
3186
3187         Reviewed by Adam Barth.
3188
3189         A developer who writes '<iframe sandbox="allowScripts">' probably has
3190         something in mind other than what the browser interprets. In these
3191         situations, we should log a console warning that notes 'allowScripts'
3192         is an invalid sandbox flag ('allow-scripts' is probably what she
3193         meant).
3194
3195         This patch does the simplest thing possible: it throws a warning that
3196         lists the invalid flags encountered for sandbox attributes on iframes,
3197         and for sandbox Content Security Policy directives.
3198
3199         Tests: http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html
3200                http/tests/security/sandboxed-iframe-invalid.html
3201
3202         * dom/SecurityContext.cpp:
3203         (WebCore::SecurityContext::parseSandboxPolicy):
3204         * dom/SecurityContext.h:
3205         (SecurityContext):
3206             Accept a new out parameter, invalidTokensErrorMessage. If invalid
3207             tokens are encountered, build an error message string, and pass it
3208             back to the caller through this parameter.
3209         * html/HTMLIFrameElement.cpp:
3210         (WebCore::HTMLIFrameElement::parseAttribute):
3211         * page/ContentSecurityPolicy.cpp:
3212         (WebCore::CSPDirectiveList::applySandboxPolicy):
3213             When applying a sandbox policy, pass a string into
3214             SecurityContext::parseSandboxPolicy to grab any errors that might
3215             be encountered, and log a warning in that event.
3216         (WebCore::ContentSecurityPolicy::reportInvalidSandboxFlags):
3217         (WebCore):
3218         * page/ContentSecurityPolicy.h:
3219             Adding a new method to report invalid sandbox flags.
3220
3221 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3222
3223         Rename member vars in ViewportArgument to match css-device-adapt
3224         https://bugs.webkit.org/show_bug.cgi?id=102355
3225
3226         Reviewed by Gyuyoung Kim.
3227
3228         No behavior change, thus no new tests.
3229
3230         * dom/ViewportArguments.cpp:
3231         (WebCore::ViewportArguments::resolve):
3232         (WebCore::setViewportFeature):
3233         * dom/ViewportArguments.h:
3234         (WebCore::ViewportArguments::ViewportArguments):
3235         (ViewportArguments):
3236         (WebCore::ViewportArguments::operator==):
3237
3238 2012-11-15  Andrey Adaikin  <aandrey@chromium.org>
3239
3240         Web Inspector: [WebGL] cloneNode for images with revoked Blob URIs fails
3241         https://bugs.webkit.org/show_bug.cgi?id=102366
3242
3243         Reviewed by Vsevolod Vlasov.
3244
3245         * inspector/InjectedScriptCanvasModuleSource.js:
3246         (.):
3247
3248 2012-11-15  Mark Rowe  <mrowe@apple.com>
3249
3250         Build fix.
3251
3252         Disable deprecation warnings in a few places that need it.
3253
3254         * platform/graphics/ca/mac/TileCache.mm:
3255         (WebCore::TileCache::drawRepaintCounter):
3256         * platform/graphics/mac/FontMac.mm:
3257         (WebCore::showGlyphsWithAdvances):
3258         * platform/graphics/mac/WebLayer.mm:
3259         (drawLayerContents):
3260
3261 2012-11-15  Kent Tamura  <tkent@chromium.org>
3262
3263         Support stand-alone month names in calendar picker
3264         https://bugs.webkit.org/show_bug.cgi?id=102196
3265
3266         Reviewed by Kentaro Hara.
3267
3268         We have showed non stand-alone month names in any locales. However
3269         we should show stand-alone month names in some locales such as
3270         Russian.
3271
3272         This patch introduce PagePopupController::formatMonth. It is
3273         exposed to page-popups, and format year-month pairs in the same
3274         way as input[type=month].
3275
3276         No new tests. Affects platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html.
3277
3278         * Resources/pagepopups/calendarPicker.js:
3279         (Month.prototype.toLocaleString):
3280         Calls pagePopupController.formatMonth except Japanese locale.
3281         (handleArgumentsTimeout):
3282         Remove unnecessary default monthLabels.
3283         * page/PagePopupController.cpp:
3284         (WebCore::PagePopupController::formatMonth): Added.
3285         * page/PagePopupController.h:
3286         (PagePopupController): Declare formatMonth.
3287         * page/PagePopupController.idl: Add formatMonth.
3288
3289 2012-11-15  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3290
3291         Web Inspector: Fix new JS compiler warnings.
3292         https://bugs.webkit.org/show_bug.cgi?id=102341
3293
3294         Reviewed by Yury Semikhatsky.
3295
3296         New version of compiler finds new inconsistencies.
3297
3298         * inspector/front-end/DOMAgent.js: Replaced 2 simiar cases with loop.
3299         * inspector/front-end/DOMBreakpointsSidebarPane.js:
3300         Declared instance property on WebInspector.
3301         * inspector/front-end/Script.js: Normalized parameter notation.
3302
3303 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3304
3305         Unreviewed build fix.
3306
3307         * dom/ViewportArguments.cpp:
3308         (WebCore::convertToUserSpace): Add static
3309
3310 2012-11-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3311
3312         Refactor ViewportArguments to only use CSS units
3313         https://bugs.webkit.org/show_bug.cgi?id=102287
3314
3315         Reviewed by Noam Rosenthal.
3316
3317         Refactor the ViewportArgument code to use a member method for
3318         resolving the viewport. This new method only uses arguments in
3319         CSS units.
3320
3321         This is preparation for adding the CSS Device Adaptation support.
3322
3323         Tested by existing tests fast/viewport.
3324
3325         * dom/ViewportArguments.cpp:
3326         (WebCore::clampLengthValue):
3327         (WebCore::clampScaleValue): New utility functions.
3328         (WebCore::ViewportArguments::resolve):
3329         (WebCore::convertToUserSpace): Added until everyone provides arguments
3330         only in CSS units and not device ones.
3331         (WebCore::computeViewportAttributes):
3332         (WebCore::computeMinimumScaleFactorForContentContained):
3333         (WebCore):
3334         (WebCore::restrictMinimumScaleFactorToViewportSize):
3335         * dom/ViewportArguments.h:
3336         (ViewportArguments):
3337
3338 2012-11-14  Shinya Kawanaka  <shinyak@chromium.org> 
3339
3340         Changing pseudoClass (:disabled) should cause distribution.
3341         https://bugs.webkit.org/show_bug.cgi?id=101901
3342
3343         Reviewed by Hajime Morita.
3344
3345         We have to invalidate distribution when pseudo-class (:disabled) is changed.
3346
3347         According to the HTML5 spec, :disabled will match button, input, select, textarea, optgroup,
3348         option, command, li, and fieldset. However, command is not implemented yet, we skip li and command. li might
3349         have 'disabled' state, but we need a command element to make it 'disabled' state.
3350
3351         Tests: fast/dom/shadow/pseudoclass-update-disabled-button.html
3352                fast/dom/shadow/pseudoclass-update-disabled-fieldset.html
3353                fast/dom/shadow/pseudoclass-update-disabled-input.html
3354                fast/dom/shadow/pseudoclass-update-disabled-optgroup.html
3355                fast/dom/shadow/pseudoclass-update-disabled-option.html
3356                fast/dom/shadow/pseudoclass-update-disabled-select.html
3357                fast/dom/shadow/pseudoclass-update-disabled-textarea.html
3358
3359         * html/HTMLFormControlElement.cpp:
3360         (WebCore::HTMLFormControlElement::disabledAttributeChanged):
3361         * html/HTMLOptGroupElement.cpp:
3362         (WebCore::HTMLOptGroupElement::parseAttribute):
3363         * html/HTMLOptionElement.cpp:
3364         (WebCore::HTMLOptionElement::parseAttribute):
3365
3366 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3367
3368         Unreviewed, rolling out r134691, r134703, r134715, r134716,
3369         and r134733.
3370         http://trac.webkit.org/changeset/134691
3371         http://trac.webkit.org/changeset/134703
3372         http://trac.webkit.org/changeset/134715
3373         http://trac.webkit.org/changeset/134716
3374         http://trac.webkit.org/changeset/134733
3375         https://bugs.webkit.org/show_bug.cgi?id=102342
3376
3377         "Broke the Apple Windows Debug and GTK builds." (Requested by
3378         dydx on #webkit).
3379
3380         * WebCore.exp.in:
3381         * bindings/js/SerializedScriptValue.h:
3382         * testing/Internals.cpp:
3383         * testing/Internals.h:
3384         (WebCore):
3385         * testing/Internals.idl:
3386
3387 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
3388
3389         Not reviewed: fixing inspector tests under Qt.
3390
3391         * inspector/front-end/TestController.js:
3392         * inspector/front-end/utilities.js:
3393         (.):
3394
3395 2012-11-14  Kentaro Hara  <haraken@chromium.org>
3396
3397         Unreviewed. Rebaselined run-bindings-tests.
3398
3399         * bindings/scripts/test/V8/V8TestNode.h:
3400         (WebCore::toV8Fast):
3401
3402 2012-11-14  Simon Fraser  <simon.fraser@apple.com>
3403
3404         Don't use temporary clip rects when hit testing
3405         https://bugs.webkit.org/show_bug.cgi?id=102329
3406
3407         Reviewed by Beth Dakin.
3408
3409         We now cache clip rects separately for painting, hit testing etc. Hit testing
3410         clip rects are always shrunk to exclude scrollbars (so that hit testing on
3411         the scrollbars works), so we no longer every need to use temporary clip rects
3412         during hit testing.
3413
3414         Added an assertion that the scrollbar relevancy when we computed the clip rects
3415         is the same as that when using them.
3416         
3417         * rendering/RenderLayer.cpp:
3418         (WebCore::RenderLayer::hitTestLayer):
3419         (WebCore::RenderLayer::updateClipRects):
3420         * rendering/RenderLayer.h:
3421         (WebCore::ClipRectsCache::ClipRectsCache):
3422         (ClipRectsCache):
3423
3424 2012-11-14  Dirk Schulze  <krit@webkit.org>
3425
3426         Support animation of basic shape 'polygon'
3427         https://bugs.webkit.org/show_bug.cgi?id=102080
3428
3429         Reviewed by Daniel Bates.
3430
3431         The basic shapes 'circle', 'rectangle' and 'ellipse' are animatable with the committed
3432         patch http://trac.webkit.org/changeset/134352.
3433         This is a follow-up patch to make 'polygon' animatable as well, as long as the number
3434         of vertices between start and end polygon is the same.
3435
3436         Added polygon animation test to existing test:
3437             fast/exclusions/shape-inside/shape-inside-animation.html
3438             css3/masking/clip-path-animation.html
3439
3440         * page/animation/CSSPropertyAnimation.cpp: Forgot to add copyright with last commits.
3441         * rendering/style/BasicShapes.cpp:
3442         (WebCore::BasicShape::canBlend): Polygons are allowed now.
3443         (WebCore::BasicShapePolygon::blend): Interpolate polygon shapes.
3444
3445 2012-11-14  Kentaro Hara  <haraken@chromium.org>
3446
3447         Unreviewed. Fix code generator warnings.
3448
3449         * bindings/scripts/CodeGeneratorV8.pm:
3450         (GenerateFunctionCallback):
3451         (GenerateImplementation):
3452
3453 2012-11-14  Shinya Kawanaka  <shinyak@chromium.org>
3454
3455         Changing pseudoClass (:checked) should cause distribution.
3456         https://bugs.webkit.org/show_bug.cgi?id=101902
3457
3458         Reviewed by Dimitri Glazkov.
3459
3460         When the 'checked' state is changed, we have to invalidate distribution.
3461