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