[chromium] Convert screen space scroll gestures to layer space
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-20  Sami Kyostila  <skyostil@chromium.org>
2
3         [chromium] Convert screen space scroll gestures to layer space
4         https://bugs.webkit.org/show_bug.cgi?id=92499
5
6         Reviewed by James Robinson.
7
8         Scroll gestures should be converted from screen space to local layer space to
9         correctly apply the scroll delta to page scaled and/or transformed layers.
10         Visually this means that the scrolled content will always follow the user's
11         finger for any "well-formed" layer transform.
12
13         Wheel scroll deltas will still be directly interpreted as local layer scroll
14         coordinates.
15
16         We also adjust the logic for propagating ("bubbling") scroll events to parent
17         layers. Previously a parent layer was allowed to scroll in the screen-space
18         axis orthogonal to the direction the starting layer scrolled toward. For
19         example if a vertically scrolling layer is scrolled diagonally down and right,
20         the layer moves down and its parent to the right.
21
22         This patch generalizes this behavior to non-axis aligned transformed layers so
23         that the scrolling direction of any parent is constrained to be perpendicular
24         direction of movement of the starting layer. This makes the scrolling behavior
25         of transformed layers physically plausible. For instance, assume a 45 degree
26         rotated, vertically scrollable layer. Dragging your finger vertically
27         (relative to the layer) scrolls the layer up and down, while horizontal
28         movement results in the parent of the layer moving in a corresponding way.
29
30         Since generally users want to scroll a single layer in one direction, this
31         patch also introduces a rule that if the resulting movement of a layer is
32         within 45 degrees of the original scroll input, the bubbling process is
33         stopped. This makes it possible to reliably scroll a single layer without
34         affecting any of its parents.
35
36         Added new unit tests:
37             CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
38             CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
39             CCLayerTreeHostImplTest.scrollScaledLayer
40             CCMathUtilTest.smallestAngleBetweenVectors
41             CCMathUtilTest.vectorProjection
42
43         * platform/graphics/chromium/cc/CCInputHandler.h:
44         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
45         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
46         (WebCore::CCLayerTreeHostImpl::scrollBegin):
47         (WebCore::scrollLayerWithScreenSpaceDelta):
48         (WebCore):
49         (WebCore::scrollLayerWithLocalDelta):
50         (WebCore::CCLayerTreeHostImpl::scrollBy):
51         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
52         (CCLayerTreeHostImpl):
53         * platform/graphics/chromium/cc/CCMathUtil.cpp:
54         (WebCore::CCMathUtil::smallestAngleBetweenVectors):
55         (WebCore):
56         (WebCore::CCMathUtil::projectVector):
57         * platform/graphics/chromium/cc/CCMathUtil.h:
58         (CCMathUtil):
59
60 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
61
62         [GTK] Add API to set preferred languages to WebKit2 GTK+
63         https://bugs.webkit.org/show_bug.cgi?id=90878
64
65         Unreviewed. Fix mac build.
66
67         * WebCore.exp.in: Export WebCore::languageDidChange().
68
69 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
70
71         Web Inspector: improve standalone test harness to allow attaching to inspector before test.
72         https://bugs.webkit.org/show_bug.cgi?id=94426
73
74         Reviewed by Vsevolod Vlasov.
75
76         - User can not "Debug", attach inspector to the front-end and "Continue" test execution.
77         - You can also assign filter from the query parameter.
78
79         * inspector/front-end/test-runner.html:
80
81 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
82
83         Web Inspector: load scripts panel lazily
84         https://bugs.webkit.org/show_bug.cgi?id=94416
85
86         Reviewed by Vsevolod Vlasov.
87
88         - removes access to WebInspector.panels.scripts and loads it lazily.
89         - extracts classes to their own files when classes residing in one file belong to different modules
90         - removes StylesPanel.js in favor of the actual classes it contains 
91
92         * WebCore.gypi:
93         * WebCore.vcproj/WebCore.vcproj:
94         * WebCore.xcodeproj/project.pbxproj:
95         * inspector/compile-front-end.py:
96         * inspector/front-end/AdvancedSearchController.js:
97         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
98         * inspector/front-end/BreakpointsSidebarPane.js:
99         * inspector/front-end/FilteredItemSelectionDialog.js:
100         * inspector/front-end/InspectorFrontendAPI.js:
101         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
102         (InspectorFrontendAPI.setDebuggingEnabled):
103         * inspector/front-end/NativeBreakpointsSidebarPane.js: Added.
104         (WebInspector.NativeBreakpointsSidebarPane):
105         (WebInspector.NativeBreakpointsSidebarPane.prototype._addListElement):
106         (WebInspector.NativeBreakpointsSidebarPane.prototype._removeListElement):
107         (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
108         * inspector/front-end/ObjectPropertiesSection.js:
109         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
110         * inspector/front-end/ScriptSnippetModel.js:
111         * inspector/front-end/ScriptsPanel.js:
112         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
113         * inspector/front-end/SnippetJavaScriptSourceFrame.js: Added.
114         (WebInspector.SnippetJavaScriptSourceFrame):
115         (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
116         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
117         * inspector/front-end/StyleSheetOutlineDialog.js: Added.
118         (WebInspector.StyleSheetOutlineDialog):
119         (WebInspector.StyleSheetOutlineDialog.show):
120         (WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt):
121         (WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt):
122         (WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt):
123         (WebInspector.StyleSheetOutlineDialog.prototype.itemsCount):
124         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
125         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
126         (WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
127         (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
128         * inspector/front-end/StyleSource.js: Renamed from Source/WebCore/inspector/front-end/StylesPanel.js.
129         (WebInspector.StylesUISourceCodeProvider):
130         (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
131         (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
132         (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
133         (WebInspector.StylesUISourceCodeProvider.prototype._populate):
134         (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
135         (WebInspector.StylesUISourceCodeProvider.prototype.reset):
136         (WebInspector.StyleSource):
137         (WebInspector.StyleSource.prototype.isEditable):
138         (WebInspector.StyleSource.prototype.workingCopyCommitted):
139         (WebInspector.StyleSource.prototype.workingCopyChanged):
140         (WebInspector.StyleSource.prototype._callOrSetTimeout):
141         (WebInspector.StyleSource.prototype._commitIncrementalEdit):
142         (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
143         (WebInspector.InspectorStyleSource):
144         * inspector/front-end/WebKit.qrc:
145         * inspector/front-end/inspector.html:
146         * inspector/front-end/inspector.js:
147         (WebInspector._panelDescriptors):
148         (WebInspector._registerShortcuts):
149         (WebInspector.documentKeyDown):
150         (WebInspector._showAnchorLocation):
151
152 2012-08-20  Dominik Röttsches  <dominik.rottsches@intel.com>
153
154         [EFL] Get rid of pango backend support once harfbuzz-ng is working
155         https://bugs.webkit.org/show_bug.cgi?id=92102
156
157         Reviewed by Kenneth Rohde Christiansen.
158
159         Removing support for Pango complex font rendering now that we HarfBuzz.
160
161         No new tests, no change in behavior.
162
163         * PlatformEfl.cmake: Removing Pango specific includes and libraries.
164
165 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
166
167         Web Inspector: prepare scripts panel to be lazily loaded
168         https://bugs.webkit.org/show_bug.cgi?id=94423
169
170         Reviewed by Vsevolod Vlasov.
171
172         - makes scripts panel read workspace data upon creation
173         - moves pause on script state management into the debugger model
174         - updates frontend API to use debugger model, not scripts panel
175
176         * inspector/front-end/DebuggerModel.js:
177         (WebInspector.DebuggerModel.prototype.debuggerEnabled):
178         (WebInspector.DebuggerModel.prototype.disableDebugger):
179         (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
180         (WebInspector.DebuggerModel.prototype._pauseOnExceptionStateChanged):
181         (WebInspector.DebuggerModel.prototype.get _debuggerWasDisabled):
182         * inspector/front-end/InspectorFrontendAPI.js:
183         (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
184         (InspectorFrontendAPI.setDebuggingEnabled):
185         * inspector/front-end/ScriptsPanel.js:
186         (WebInspector.ScriptsPanel):
187         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
188         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
189         (WebInspector.ScriptsPanel.prototype._reset):
190         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
191         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
192         (WebInspector.ScriptsPanel.prototype._enableDebugging):
193         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
194         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
195         * inspector/front-end/inspector.js:
196         (WebInspector.documentKeyDown):
197
198 2012-08-20  Robin Cao  <robin.cao@torchmobile.com.cn>
199
200         [BlackBerry] Adapt to changes in the platform media player API
201         https://bugs.webkit.org/show_bug.cgi?id=94329
202         PR #194237
203
204         Reviewed by Antonio Gomes.
205
206         The interface to platform's media player has changed from MMRPlayer
207         to PlatformPlayer. This patch adapts to this change.
208
209         And we also decided to postpone the creation of PlatformPlayer until
210         the loading started. This is needed because we may create different
211         types of player for different media sources.
212
213         This is a refactor, no new tests.
214
215         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
216         (WebCore::MediaPlayerPrivate::getSupportedTypes):
217         (WebCore::MediaPlayerPrivate::supportsType):
218         (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
219         (WebCore::MediaPlayerPrivate::setCertificatePath):
220         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
221         (WebCore::MediaPlayerPrivate::load):
222         (WebCore::MediaPlayerPrivate::cancelLoad):
223         (WebCore::MediaPlayerPrivate::prepareToPlay):
224         (WebCore::MediaPlayerPrivate::play):
225         (WebCore::MediaPlayerPrivate::pause):
226         (WebCore::MediaPlayerPrivate::naturalSize):
227         (WebCore::MediaPlayerPrivate::hasVideo):
228         (WebCore::MediaPlayerPrivate::hasAudio):
229         (WebCore::MediaPlayerPrivate::duration):
230         (WebCore::MediaPlayerPrivate::currentTime):
231         (WebCore::MediaPlayerPrivate::seek):
232         (WebCore::MediaPlayerPrivate::setRate):
233         (WebCore::MediaPlayerPrivate::paused):
234         (WebCore::MediaPlayerPrivate::setVolume):
235         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
236         (WebCore::MediaPlayerPrivate::buffered):
237         (WebCore::MediaPlayerPrivate::paint):
238         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
239         (WebCore::MediaPlayerPrivate::movieLoadType):
240         (WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
241         (WebCore::MediaPlayerPrivate::updateStates):
242         (WebCore):
243         (WebCore::MediaPlayerPrivate::onStateChanged):
244         (WebCore::MediaPlayerPrivate::onMediaStatusChanged):
245         (WebCore::MediaPlayerPrivate::onError):
246         (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
247         (WebCore::MediaPlayerPrivate::showErrorDialog):
248         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
249         (MediaPlayerPrivate):
250
251 2012-08-19  Kentaro Hara  <haraken@chromium.org>
252
253         [V8] Move contextDebugId() and setContextDebugId() from V8Proxy to ScriptController
254         https://bugs.webkit.org/show_bug.cgi?id=94446
255
256         Reviewed by Adam Barth.
257
258         To kill V8Proxy, we can move contextDebugId() and setContextDebugId()
259         from V8Proxy to ScriptController.
260
261         No tests. No change in behavior.
262
263         * bindings/v8/ScriptController.cpp:
264         (WebCore::ScriptController::setContextDebugId):
265         (WebCore):
266         (WebCore::ScriptController::contextDebugId):
267         * bindings/v8/ScriptController.h:
268         (ScriptController):
269         * bindings/v8/V8IsolatedContext.cpp:
270         (WebCore::V8IsolatedContext::V8IsolatedContext):
271         * bindings/v8/V8Proxy.cpp:
272         * bindings/v8/V8Proxy.h:
273         (V8Proxy):
274
275 2012-08-20  Kentaro Hara  <haraken@chromium.org>
276
277         [V8] Move V8Proxy::newInstance() to V8ObjectConstructor
278         https://bugs.webkit.org/show_bug.cgi?id=94443
279
280         Reviewed by Adam Barth.
281
282         To kill V8Proxy, this patch moves V8Proxy::newInstance() to
283         V8ObjectConstructor::newInstanceInFrame().
284         In addition, this patch does the following things:
285
286         - For consistency with V8ObjectConstructor::newInstanceInFrame(),
287         this patch inserts an if(v8::V8::IsDead()) check to just after
288         Function::NewInstance(). The check is done by V8Binding::assertIfV8IsDead().
289
290         - To avoid #include circular dependency, this patch de-inline
291         V8ObjectConstructor::newInstance()s. I didn't observe any perf regression.
292         I don't think these methods are worth being inlined, because
293         these methods call Function::NewInstance(), which is not inlined
294         and calls a bunch of heavy mehtods in V8.
295
296         No tests. No change in behavior.
297
298         * bindings/v8/NPV8Object.cpp:
299         (_NPN_Construct):
300         * bindings/v8/V8Binding.cpp:
301         (WebCore::assertIfV8IsDead):
302         (WebCore):
303         * bindings/v8/V8Binding.h:
304         (WebCore):
305         * bindings/v8/V8ObjectConstructor.cpp:
306         (WebCore::V8ObjectConstructor::newInstance):
307         (WebCore):
308         (WebCore::V8ObjectConstructor::newInstanceInFrame):
309         * bindings/v8/V8ObjectConstructor.h:
310         (WebCore):
311         (V8ObjectConstructor):
312         * bindings/v8/V8Proxy.cpp:
313         (WebCore::V8Proxy::runScript):
314         (WebCore::V8Proxy::instrumentedCallFunction):
315
316 2012-08-20  Kentaro Hara  <haraken@chromium.org>
317
318         [V8] Move V8Proxy::m_extensions to ScriptController
319         https://bugs.webkit.org/show_bug.cgi?id=94444
320
321         Reviewed by Adam Barth.
322
323         To kill V8Proxy, this patch moves V8Proxy::m_extensions to ScriptController.
324         This patch also renames extensions() to registeredExtensions() for clarification.
325
326         No tests. No change in behavior.
327
328         * bindings/v8/ScriptController.cpp:
329         (WebCore::ScriptController::registeredExtensions):
330         (WebCore):
331         (WebCore::ScriptController::registerExtensionIfNeeded):
332         * bindings/v8/ScriptController.h:
333         (WebCore):
334         (ScriptController):
335         * bindings/v8/V8DOMWindowShell.cpp:
336         (WebCore::V8DOMWindowShell::createNewContext):
337         * bindings/v8/V8Proxy.cpp:
338         * bindings/v8/V8Proxy.h:
339         (WebCore):
340         (V8Proxy):
341
342 2012-08-20  Pavel Feldman  <pfeldman@chromium.org>
343
344         Web Inspector: toolbar causes 8 reflows upon opening
345         https://bugs.webkit.org/show_bug.cgi?id=94422
346
347         Reviewed by Yury Semikhatsky.
348
349         Toolbar's overflow code causes inspector to do 8 reflows upon opening.
350         Fixing it via introducing batch toolbar update.
351
352         * inspector/front-end/Toolbar.js:
353         (WebInspector.Toolbar):
354         (WebInspector.Toolbar.prototype.setCoalescingUpdate):
355         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
356         * inspector/front-end/inspector.css:
357         (body.compact .toolbar-icon):
358         (body.compact .toolbar-icon.custom-toolbar-icon):
359         (body.compact .toolbar-item:active .toolbar-icon):
360         (body.compact .toolbar-label):
361         (body.compact .toolbar-item.resources .toolbar-icon):
362         (body.compact .toolbar-item.network .toolbar-icon):
363         (body.compact .toolbar-item.scripts .toolbar-icon):
364         (body.compact .toolbar-item.timeline .toolbar-icon):
365         (body.compact .toolbar-item.profiles .toolbar-icon):
366         (body.compact .toolbar-item.audits .toolbar-icon):
367         (body.compact .toolbar-item.console .toolbar-icon):
368         * inspector/front-end/inspector.js:
369         (WebInspector.get _setCompactMode):
370         (WebInspector.windowResize):
371
372 2012-08-19  Kentaro Hara  <haraken@chromium.org>
373
374         [V8] Replace proxy()->windowShell() in ScriptController with windowShell()
375         https://bugs.webkit.org/show_bug.cgi?id=94445
376
377         Reviewed by Adam Barth.
378
379         Now ScriptController owns windowShell. So ScriptController doesn't
380         need to get windowShell through V8Proxy.
381
382         No tests. No change in behavior.
383
384         * bindings/v8/ScriptController.cpp:
385         (WebCore::ScriptController::updateSecurityOrigin):
386         (WebCore::ScriptController::haveInterpreter):
387         (WebCore::ScriptController::enableEval):
388         (WebCore::ScriptController::disableEval):
389         (WebCore::ScriptController::updateDocument):
390         (WebCore::ScriptController::namedItemAdded):
391         (WebCore::ScriptController::namedItemRemoved):
392
393 2012-08-19  Kentaro Hara  <haraken@chromium.org>
394
395         [V8] Move V8Proxy::callFunction() to ScriptController
396         https://bugs.webkit.org/show_bug.cgi?id=94437
397
398         Reviewed by Adam Barth.
399
400         To kill V8Proxy, this patch moves callFunction() from V8Proxy to ScriptController.
401
402         No tests. No change in behavior.
403
404         * bindings/v8/DOMTransaction.cpp:
405         (WebCore::DOMTransaction::callFunction):
406         * bindings/v8/NPV8Object.cpp:
407         (_NPN_Invoke):
408         (_NPN_InvokeDefault):
409         * bindings/v8/ScheduledAction.cpp:
410         (WebCore::ScheduledAction::execute):
411         * bindings/v8/ScheduledAction.h:
412         (WebCore):
413         (ScheduledAction):
414         * bindings/v8/ScriptController.cpp:
415         (WebCore::ScriptController::callFunction):
416         (WebCore):
417         (WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
418         * bindings/v8/ScriptController.h:
419         (ScriptController):
420         * bindings/v8/V8EventListener.cpp:
421         (WebCore::V8EventListener::callListenerFunction):
422         * bindings/v8/V8LazyEventListener.cpp:
423         (WebCore::V8LazyEventListener::callListenerFunction):
424         * bindings/v8/V8Proxy.cpp:
425         * bindings/v8/V8Proxy.h:
426         (V8Proxy):
427         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
428         (WebCore::V8HTMLDocument::openCallback):
429
430 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
431
432         [Forms] Set SpinButtonElement free from HTMLInputElement
433         https://bugs.webkit.org/show_bug.cgi?id=93941
434
435         Reviewed by Kent Tamura.
436
437         This patch removes dependency to HTMLInputElement from SpinButtonElement.
438
439         Functionalities used to be calling HTMLInputElement functions are
440         replaced to calling functions SpinButtonOwner class.
441
442         * html/TextFieldInputType.cpp:
443         (WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
444         (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Moved code from SpinButtonElement::willRespondToMouseClickEvents
445         (WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents): Moved code from SpinButtonElement::forwardEvent
446         * html/TextFieldInputType.h:
447         (TextFieldInputType):
448         * html/TimeInputType.cpp:
449         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
450         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Added for DateTimeEditElement::shouldSpinButtonRespondToWheelEvents.
451         * html/TimeInputType.h:
452         * html/shadow/DateTimeEditElement.cpp:
453         (WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Added for SpinButtonElementOwner class change.
454         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToMouseEvents): ditto
455         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): ditto
456         * html/shadow/DateTimeEditElement.h:
457         (EditControlOwner): Added new virtual function declarations for SpinButtonElementOwner class change.
458         (DateTimeEditElement): Added new function declarations for SpinButtonElementOwner.
459         * html/shadow/SpinButtonElement.cpp:
460         (WebCore::SpinButtonElement::defaultEventHandler): Changed to use SpinButtonElementOwner instead of HTMLInputElement.
461         (WebCore::SpinButtonElement::forwardEvent): ditto
462         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto
463         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto
464         (WebCore::SpinButtonElement::step): ditto
465         (WebCore::SpinButtonElement::shouldRespondToMouseEvents): Added helper function for calling SpinButtonOwner instance.
466         * html/shadow/SpinButtonElement.h:
467         (SpinButtonOwner): Added new virtual function declarations.
468         (SpinButtonElement):
469
470 2012-08-19  Yoshifumi Inoue  <yosin@chromium.org>
471
472         [Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Mac
473         https://bugs.webkit.org/show_bug.cgi?id=94439
474
475         Reviewed by Kent Tamura.
476
477         This patch disabled CSS selector for Firefox compatibility applied to
478         multiple fields time input UI, because it is supposed to apply text
479         field rather than multiple fields.
480
481         This patch allows us to have same appearance among Chromium-Linux,
482         Mac and Win.
483
484         No new tests. Following existing tests cover this change:
485           fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
486           fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
487           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
488           fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
489           fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html
490
491         * css/themeWin.css: Exclude input[type="time"] selector if ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
492         enabled.
493
494 2012-08-19  Kentaro Hara  <haraken@chromium.org>
495
496         [V8] Rename SafeAllocation to V8ObjectConstructor
497         https://bugs.webkit.org/show_bug.cgi?id=94436
498
499         Reviewed by Adam Barth.
500
501         For clarification.
502
503         No tests. No change in behavior.
504
505         * UseV8.cmake:
506         * WebCore.gypi:
507         * bindings/v8/ScriptFunctionCall.cpp:
508         (WebCore::ScriptFunctionCall::construct):
509         * bindings/v8/V8Binding.cpp:
510         (WebCore::createRawTemplate):
511         * bindings/v8/V8Binding.h:
512         * bindings/v8/V8DOMWindowShell.cpp:
513         (WebCore::V8DOMWindowShell::installDOMWindow):
514         * bindings/v8/V8DOMWrapper.cpp:
515         (WebCore::V8DOMWrapper::instantiateV8Object):
516         * bindings/v8/V8NPObject.cpp:
517         (WebCore::createV8ObjectForNPObject):
518         * bindings/v8/V8ObjectConstructor.cpp: Renamed from Source/WebCore/bindings/v8/SafeAllocation.cpp.
519         (WebCore):
520         (WebCore::V8ObjectConstructor::isValidConstructorMode):
521         * bindings/v8/V8ObjectConstructor.h: Renamed from Source/WebCore/bindings/v8/SafeAllocation.h.
522         (WebCore):
523         (ConstructorMode):
524         (WebCore::ConstructorMode::ConstructorMode):
525         (WebCore::ConstructorMode::~ConstructorMode):
526         (WebCore::ConstructorMode::current):
527         (V8ObjectConstructor):
528         (WebCore::V8ObjectConstructor::newInstance):
529         * bindings/v8/V8PerContextData.cpp:
530         (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
531         * bindings/v8/WorkerContextExecutionProxy.cpp:
532         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
533         * bindings/v8/custom/V8InjectedScriptManager.cpp:
534         (WebCore::createInjectedScriptHostV8Wrapper):
535         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
536         (WebCore::toV8):
537         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
538         (WebCore::toV8):
539
540 2012-08-19  Kentaro Hara  <haraken@chromium.org>
541
542         [V8] Move m_windowShell from V8Proxy to ScriptController
543         https://bugs.webkit.org/show_bug.cgi?id=94438
544
545         Reviewed by Adam Barth.
546
547         m_windowShell should be owned by ScriptController.
548         After this change, I can move a bunch of V8Proxy methods
549         that access windowShell() from V8Proxy to ScriptController.
550
551         No tests. No change in behavior.
552
553         * bindings/v8/ScriptController.cpp:
554         (WebCore::ScriptController::ScriptController):
555         * bindings/v8/ScriptController.h:
556         (WebCore):
557         (WebCore::ScriptController::windowShell):
558         (ScriptController):
559         * bindings/v8/V8Binding.h:
560         * bindings/v8/V8Proxy.cpp:
561         (WebCore::V8Proxy::V8Proxy):
562         (WebCore::V8Proxy::windowShell):
563         (WebCore):
564         * bindings/v8/V8Proxy.h:
565         (WebCore):
566         (WebCore::V8Proxy::frame):
567         (V8Proxy):
568
569 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
570
571         Do not allocate SQLiteDatabase's m_openErrorMessage until its needed
572         https://bugs.webkit.org/show_bug.cgi?id=94434
573
574         Reviewed by Andreas Kling.
575
576         Previously, m_openErrorMessage was initialized from a static literal string whenever
577         the database is not open.
578
579         This patch changes the way we use m_openErrorMessage to only allocate a string in the
580         few cases where we need it. If there is no error message, we fallback to the previous
581         default string.
582
583         The goal is to prevent allocating the string unless needed. That saves initialization time
584         and memory.
585
586         * platform/sql/SQLiteDatabase.cpp:
587         (WebCore::SQLiteDatabase::SQLiteDatabase):
588         (WebCore::SQLiteDatabase::close):
589         (WebCore::SQLiteDatabase::lastErrorMsg):
590
591 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
592
593         Use initialization from literal for HTML Input type names
594         https://bugs.webkit.org/show_bug.cgi?id=94421
595
596         Reviewed by Kent Tamura.
597
598         AtomicString's initialization from literal is faster and use less memory.
599
600         * html/InputType.cpp:
601         (WebCore::InputTypeNames::button):
602         (WebCore::InputTypeNames::checkbox):
603         (WebCore::InputTypeNames::color):
604         (WebCore::InputTypeNames::date):
605         (WebCore::InputTypeNames::datetime):
606         (WebCore::InputTypeNames::datetimelocal):
607         (WebCore::InputTypeNames::email):
608         (WebCore::InputTypeNames::file):
609         (WebCore::InputTypeNames::hidden):
610         (WebCore::InputTypeNames::image):
611         (WebCore::InputTypeNames::month):
612         (WebCore::InputTypeNames::number):
613         (WebCore::InputTypeNames::password):
614         (WebCore::InputTypeNames::radio):
615         (WebCore::InputTypeNames::range):
616         (WebCore::InputTypeNames::reset):
617         (WebCore::InputTypeNames::search):
618         (WebCore::InputTypeNames::submit):
619         (WebCore::InputTypeNames::telephone):
620         (WebCore::InputTypeNames::text):
621         (WebCore::InputTypeNames::time):
622         (WebCore::InputTypeNames::url):
623         (WebCore::InputTypeNames::week):
624
625 2012-08-19  Benjamin Poulain  <benjamin@webkit.org>
626
627         Remove the static Strings used for outputting values of CSS_ATTR, CSS_COUNTER, CSS_RECT
628         https://bugs.webkit.org/show_bug.cgi?id=94420
629
630         Reviewed by Kentaro Hara.
631
632         Use the new StringBuilder::appendLiteral() instead of keeping some WTF::String in
633         memory.
634
635         The patch reduces memory usage.
636         It also reduces the binary size (-1672 bytes on x86_64).
637         I did not measure any difference in performance.
638
639         * css/CSSPrimitiveValue.cpp:
640         (WebCore::CSSPrimitiveValue::customCssText):
641
642 2012-08-19  Rik Cabanier  <cabanier@adobe.com>
643
644         parse CSS attribute -webkit-blend-mode
645         https://bugs.webkit.org/show_bug.cgi?id=94024
646  
647         Reviewed by Dirk Schulze.
648
649         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
650
651         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
652                css3/compositing/blend-mode-property-parsing.html
653                css3/compositing/blend-mode-property.html
654
655         * css/CSSComputedStyleDeclaration.cpp:
656         (WebCore):
657         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
658         * css/CSSParser.cpp:
659         (WebCore::isValidKeywordPropertyAndValue):
660         (WebCore::isKeywordPropertyID):
661         (WebCore::CSSParser::parseValue):
662         * css/CSSProperty.cpp:
663         (WebCore::CSSProperty::isInheritedProperty):
664         * css/CSSPropertyNames.in:
665         * css/CSSValueKeywords.in:
666         * css/StyleBuilder.cpp:
667         (WebCore::StyleBuilder::StyleBuilder):
668         * rendering/RenderLayer.h:
669         (RenderLayer):
670         * rendering/RenderLayerBacking.cpp:
671         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
672         (WebCore):
673         (WebCore::RenderLayerBacking::updateLayerBlendMode):
674         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
675         (WebCore::RenderLayerBacking::setBlendMode):
676         * rendering/RenderLayerBacking.h:
677         (RenderLayerBacking):
678         * rendering/style/RenderStyle.cpp:
679         (WebCore::RenderStyle::diff):
680         * rendering/style/RenderStyle.h:
681         * rendering/style/StyleRareNonInheritedData.cpp:
682         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
683         (WebCore::StyleRareNonInheritedData::operator==):
684         * rendering/style/StyleRareNonInheritedData.h:
685         (StyleRareNonInheritedData):
686
687 2012-08-19  MORITA Hajime  <morrita@google.com>
688
689         DOM mutation against including <link> shouldn't trigger pending HTML parser.
690         https://bugs.webkit.org/show_bug.cgi?id=93641
691
692         Reviewed by Ryosuke Niwa.
693
694         HTMLLinkElement::removedFrom() invoked Document::removePendingSheet(), which can trigger
695         HTMLParser that can mutate DOM tree. DOM mutation reentrancy on like this is problematic and
696         should be prohibited.
697
698         This change add an variation of Document::removePendingSheet() which postpones the notification
699         which triggers DOM mutation, and flush such pending notifications at the end of ongoing mutation.
700
701         Test: http/tests/loading/remove-child-triggers-parser.html
702
703         * dom/ContainerNodeAlgorithms.h:
704         (WebCore::ChildNodeRemovalNotifier::notify): Flushed pending notifications at the end.
705         * dom/Document.cpp:
706         (WebCore::Document::Document):
707         (WebCore::Document::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
708         (WebCore):
709         (WebCore::Document::didRemoveAllPendingStylesheet): Extracted from removePendingSheet()
710         * dom/Document.h:
711         (Document):
712         (WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet): A flag setter.
713         (WebCore::Document::notifyRemovePendingSheetIfNeeded):
714         (WebCore):
715         * html/HTMLLinkElement.cpp:
716         (WebCore::HTMLLinkElement::removedFrom): Switched to use "notification later" version of removePendingSheet()
717         (WebCore::HTMLLinkElement::removePendingSheet): Added RemovePendingSheetNotificationType parameter.
718         * html/HTMLLinkElement.h:
719
720 2012-08-19  Kentaro Hara  <haraken@chromium.org>
721
722         Remove RefPtr from HTMLProgressElement::m_value
723         https://bugs.webkit.org/show_bug.cgi?id=94336
724
725         Reviewed by Kent Tamura.
726
727         To avoid reference cycles of RefPtr<Node>s, we want to remove
728         unnecessary RefPtr<Node>s. The rationale is described in bug 94324.
729
730         HTMLProgressElement::m_value does not need to be a RefPtr<Node>, because
731         it is guaranteed to point to a shadow DOM tree of the HTMLProgressElement
732         node, which is guaranteed to exist in the subtree of the HTMLProgressElement node.
733
734         No tests. No change in behavior.
735
736         * html/HTMLProgressElement.cpp:
737         (WebCore::HTMLProgressElement::HTMLProgressElement):
738         (WebCore::HTMLProgressElement::createShadowSubtree):
739         * html/HTMLProgressElement.h:
740
741 2012-08-19  Kentaro Hara  <haraken@chromium.org>
742
743         Remove RefPtr from SearchInputType::m_resultsButton and SearchInputType::m_cancelButton
744         https://bugs.webkit.org/show_bug.cgi?id=94339
745
746         Reviewed by Kent Tamura.
747
748         To avoid reference cycles of RefPtr<Node>s, we want to remove unnecessary
749         RefPtr<Node>s. The rationale is described in bug 94324.
750
751         SearchInputType::m_resultsButton and SearchInputType::m_cancelButton do not
752         need to be RefPtr<Node>s, because they are guaranteed to point to the shadow
753         DOM tree of the SearchInputType node, which is guaranteed to exist in the
754         subtree of the SearchInputType node.
755
756         No tests. No change in behavior.
757
758         * html/SearchInputType.cpp:
759         (WebCore::SearchInputType::SearchInputType):
760         (WebCore::SearchInputType::createShadowSubtree):
761         (WebCore::SearchInputType::resultsButtonElement):
762         (WebCore::SearchInputType::cancelButtonElement):
763         (WebCore::SearchInputType::destroyShadowSubtree):
764         (WebCore::SearchInputType::subtreeHasChanged):
765         * html/SearchInputType.h:
766         (SearchInputType):
767
768 2012-08-19  Mike West  <mkwst@chromium.org>
769
770         CSP 1.1: Add 'plugin-types' and 'form-action' DOM API.
771         https://bugs.webkit.org/show_bug.cgi?id=94415
772
773         Reviewed by Adam Barth.
774
775         Experimental implementations of the new 'plugin-types' and 'form-action'
776         directives recently landed, but we neglected to add DOM API endpoints to
777         query their state. Those APIs have been added to the specification[1],
778         and this patch brings our implementation up to date.
779
780         Tests: http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowformaction.html
781                http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowplugintype.html
782
783         * page/DOMSecurityPolicy.cpp:
784         (isAllowed):
785             As a drive-by, change a parameter from a KURL to a String to match
786             the actual template. There's no reason to stringify an empty URL
787             when we can just use an empty string instead.
788         (isAllowedWithType):
789             Call out to the ContentSecurityPolicy object to check the protected
790             resource's ability to load a given media type.
791         (WebCore::DOMSecurityPolicy::allowsFormAction):
792             Call out to the ContentSecurityPolicy object to check the protected
793             resource's ability to submit a form to the given URL.
794         (WebCore):
795         (WebCore::DOMSecurityPolicy::allowsPluginType):
796             Pipes the plugin type through 'isAllowedWithType' for resolution.
797         * page/DOMSecurityPolicy.h:
798             Add the 'allowsPluginType' and 'allowsFormAction' methods.
799         (DOMSecurityPolicy):
800         * page/DOMSecurityPolicy.idl:
801             Add the 'allowsPluginType' and 'allowsFormAction' methods.
802
803 2012-08-19  Pavel Feldman  <pfeldman@chromium.org>
804
805         Web Inspector: load network panel lazily
806         https://bugs.webkit.org/show_bug.cgi?id=94414
807
808         Reviewed by Vsevolod Vlasov.
809
810         This change removes access to WebInspector.panels.network and loads it lazily.
811
812         * WebCore.gypi:
813         * WebCore.xcodeproj/project.pbxproj:
814         * inspector/front-end/ConsoleMessage.js:
815         (WebInspector.ConsoleMessageImpl):
816         (WebInspector.ConsoleMessageImpl.prototype.clone):
817         * inspector/front-end/ConsoleModel.js:
818         (WebInspector.ConsoleMessage.create):
819         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
820         * inspector/front-end/ConsoleView.js:
821         (WebInspector.ConsoleMessage.create):
822         * inspector/front-end/NetworkLog.js:
823         (WebInspector.NetworkLog):
824         (WebInspector.NetworkLog.prototype._onRequestStarted):
825         (WebInspector.NetworkLog.prototype._onLoad):
826         (WebInspector.NetworkLog.prototype.requestForId):
827         * inspector/front-end/NetworkManager.js:
828         (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
829         * inspector/front-end/NetworkPanel.js:
830         (WebInspector.NetworkLogView):
831         * inspector/front-end/ScriptSnippetModel.js:
832         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
833         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
834         * inspector/front-end/externs.js:
835         * inspector/front-end/inspector.html:
836         * inspector/front-end/inspector.js:
837         (WebInspector._panelDescriptors):
838         (WebInspector._showAnchorLocation):
839
840 2012-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
841
842         Unreviewed, rolling out r125976.
843         http://trac.webkit.org/changeset/125976
844         https://bugs.webkit.org/show_bug.cgi?id=94430
845
846         it does not fix build. (Requested by pfeldman on #webkit).
847
848         * GNUmakefile.am:
849         * GNUmakefile.list.am:
850
851 2012-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
852
853         Unreviewed. Fix make distcheck.
854
855         * GNUmakefile.am: Add idl files in Modules/quota to EXTRA_DIST.
856         * GNUmakefile.list.am: Add missing files to compilation.
857
858 2012-08-19  Andreas Kling  <kling@webkit.org>
859
860         Remove unused ElementAttributeData::removeAttribute() overload.
861         <http://webkit.org/b/94425>
862
863         Reviewed by Antti Koivisto.
864
865         * dom/ElementAttributeData.h:
866         (ElementAttributeData):
867
868 2012-08-18  Philip Rogers  <pdr@google.com>
869
870         Refactor SVGMaskElement to inherit from StyledElement
871         https://bugs.webkit.org/show_bug.cgi?id=94418
872
873         Reviewed by Dirk Schulze.
874
875         Previously, SVGMaskElement inherited from SVGStyledLocatableElement which includes
876         several unnecessary functions (e.g., getBBox()). This patch refactors SVGMaskElement
877         to inherit from SVGStyledElement which matches the spec:
878         http://www.w3.org/TR/SVG/single-page.html#masking-InterfaceSVGMaskElement
879
880         No new tests as this is just a refactoring.
881
882         * svg/SVGMaskElement.cpp:
883         (WebCore):
884         (WebCore::SVGMaskElement::SVGMaskElement):
885         * svg/SVGMaskElement.h:
886
887 2012-08-18  Andreas Kling  <kling@webkit.org>
888
889         CSSValueList: Reserve the exact amount of space needed when constructing from CSS parser.
890         (No bug URL as Bugzilla is down today.)
891
892         Reviewed by Antti Koivisto.
893
894         Use Vector::reserveInitialCapacity() when constructing a CSSValueList from a CSSParserValueList
895         since we have the final length available. Also inlined the trivial append() and prepend().
896
897         * css/CSSValueList.cpp:
898         (WebCore::CSSValueList::CSSValueList):
899         * css/CSSValueList.h:
900         (WebCore::CSSValueList::append):
901         (WebCore::CSSValueList::prepend):
902
903 2012-08-18  Pavel Feldman  <pfeldman@chromium.org>
904
905         Web Inspector: make profiles panel a lazily loaded module.
906         https://bugs.webkit.org/show_bug.cgi?id=94351
907
908         Reviewed by Yury Semikhatsky.
909
910         - removed usages of WebInspector.panels.profiles.
911         - made panel lazily loaded
912
913         * WebCore.gypi:
914         * WebCore.xcodeproj/project.pbxproj:
915         * inspector/front-end/CPUProfileView.js:
916         (WebInspector.CPUProfileHeader.prototype.createView):
917         * inspector/front-end/CSSSelectorProfileView.js:
918         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
919         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
920         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
921         (WebInspector.CSSProfileHeader.prototype.createView):
922         * inspector/front-end/HeapSnapshotDataGrids.js:
923         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
924         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
925         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
926         * inspector/front-end/HeapSnapshotView.js:
927         (WebInspector.HeapSnapshotView.prototype._profiles):
928         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
929         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
930         (WebInspector.HeapProfileHeader.prototype.createView):
931         * inspector/front-end/InspectorFrontendAPI.js:
932         (InspectorFrontendAPI.isProfilingJavaScript):
933         (InspectorFrontendAPI.startProfilingJavaScript):
934         (InspectorFrontendAPI.stopProfilingJavaScript):
935         * inspector/front-end/NativeMemorySnapshotView.js:
936         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
937         * inspector/front-end/ProfilesPanel.js:
938         (WebInspector.ProfileType.prototype.buttonClicked):
939         (WebInspector.ProfileHeader.prototype.view):
940         (WebInspector.ProfileHeader.prototype.createView):
941         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
942         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
943         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
944         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
945         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
946         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
947         * inspector/front-end/Settings.js:
948         * inspector/front-end/externs.js:
949         * inspector/front-end/inspector.html:
950         * inspector/front-end/inspector.js:
951         (WebInspector._panelDescriptors):
952         (WebInspector._toggleSearchingForNode):
953         (WebInspector._profilesLinkifier):
954         (WebInspector._requestZoom.set InspectorFrontendHost):
955         (WebInspector._requestZoom):
956         (WebInspector.documentClick.followLink):
957         (WebInspector.documentClick):
958
959 2012-08-18  Pavel Feldman  <pfeldman@chromium.org>
960
961         Web Inspector: load panels code on demand
962         https://bugs.webkit.org/show_bug.cgi?id=94326
963
964         Reviewed by Vsevolod Vlasov.
965
966         - Introduces importScript that evals in debug mode and inlines for release
967         - Loads Element, Resources, Timeline, Audits panels lazily.
968
969         * WebCore.gypi:
970         * WebCore.xcodeproj/project.pbxproj:
971         * inspector/compile-front-end.py:
972         * inspector/front-end/AuditsPanel.js:
973         * inspector/front-end/CodeMirrorTextEditor.js:
974         (WebInspector.CodeMirrorTextEditor):
975         (WebInspector.CodeMirrorTextEditor.prototype._toRange):
976         * inspector/front-end/Color.js:
977         * inspector/front-end/ElementsPanel.js:
978         * inspector/front-end/ExtensionServer.js:
979         (WebInspector.ExtensionServer.prototype._onCreatePanel):
980         * inspector/front-end/Panel.js:
981         (WebInspector.Panel):
982         (WebInspector.PanelDescriptor):
983         (WebInspector.PanelDescriptor.prototype.panel):
984         * inspector/front-end/ResourcesPanel.js:
985         * inspector/front-end/SettingsScreen.js:
986         (WebInspector.GenericSettingsTab):
987         * inspector/front-end/SourceFrame.js:
988         (WebInspector.SourceFrame):
989         * inspector/front-end/Spectrum.js:
990         (WebInspector.Spectrum.prototype.get outputColorFormat):
991         * inspector/front-end/StylesSidebarPane.js:
992         * inspector/front-end/TimelinePanel.js:
993         * inspector/front-end/inspector.html:
994         * inspector/front-end/inspector.js:
995         (WebInspector._panelDescriptors):
996         (WebInspector.doLoadedDone):
997         * inspector/front-end/utilities.js:
998         * inspector/inline-javascript-imports.py:
999         (main):
1000
1001 2012-08-17  Keishi Hattori  <keishi@webkit.org>
1002
1003         Calendar picker shows wrong date when input element has year earlier than 100
1004         https://bugs.webkit.org/show_bug.cgi?id=94100
1005
1006         Reviewed by Kent Tamura.
1007
1008         Date.UTC can't set an year earlier than 100. So when the input has a value earlier than 100, calendar picker shows the wrong date.
1009
1010         Test: fast/forms/date/calendar-picker-appearance-pre-100.html
1011
1012         * Resources/pagepopups/calendarPicker.js:
1013         (createUTCDate): Uses setUTCFullYear when the year is pre 100.
1014         (parseDateString):
1015         (DaysTable.prototype._renderMonth):
1016         (DaysTable.prototype._maybeSetPreviousMonth):
1017         (DaysTable.prototype._maybeSetNextMonth):
1018
1019 2012-08-17  Vangelis Kokkevis  <vangelis@chromium.org>
1020
1021         [chromium] Fix random noise around text in FPS HUD.
1022         https://bugs.webkit.org/show_bug.cgi?id=94400
1023
1024         Reviewed by James Robinson.
1025
1026         This was the result of an incorrect clear operation on the canvas
1027         that stores the font atlas used by the HUD.
1028
1029
1030         * platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
1031         (WebCore::CompositorHUDFontAtlas::generateFontAtlas):
1032
1033 2012-08-17  Dirk Pranke  <dpranke@chromium.org>
1034
1035         Unreviewed, rolling out r125897.
1036         http://trac.webkit.org/changeset/125897
1037         https://bugs.webkit.org/show_bug.cgi?id=94326
1038
1039         This patch seems to have broken the inspector on the apple mac bots.
1040
1041         * WebCore.gypi:
1042         * inspector/compile-front-end.py:
1043         * inspector/front-end/AuditsPanel.js:
1044         * inspector/front-end/CodeMirrorTextEditor.js:
1045         (WebInspector.CodeMirrorTextEditor):
1046         (WebInspector.CodeMirrorTextEditor.prototype._toRange):
1047         (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries.loadLibrary):
1048         (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries):
1049         * inspector/front-end/Color.js:
1050         * inspector/front-end/ElementsPanel.js:
1051         * inspector/front-end/ExtensionServer.js:
1052         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1053         * inspector/front-end/Panel.js:
1054         (WebInspector.Panel):
1055         (WebInspector.PanelDescriptor):
1056         (WebInspector.PanelDescriptor.prototype.panel):
1057         * inspector/front-end/ResourcesPanel.js:
1058         * inspector/front-end/SettingsScreen.js:
1059         (WebInspector.GenericSettingsTab):
1060         * inspector/front-end/SourceFrame.js:
1061         (WebInspector.SourceFrame):
1062         * inspector/front-end/Spectrum.js:
1063         (WebInspector.Spectrum.prototype.get outputColorFormat):
1064         * inspector/front-end/StylesSidebarPane.js:
1065         * inspector/front-end/TimelinePanel.js:
1066         * inspector/front-end/inspector.html:
1067         * inspector/front-end/inspector.js:
1068         (WebInspector._panelDescriptors):
1069         (WebInspector.doLoadedDone):
1070         * inspector/front-end/utilities.js:
1071
1072 2012-08-17  Chris Rogers  <crogers@google.com>
1073
1074         AudioParam must support k-rate processing with audio-rate connections
1075         https://bugs.webkit.org/show_bug.cgi?id=94385
1076
1077         Reviewed by Kenneth Russell.
1078
1079         Fully implement AudioParam *final* value calculation according to spec:
1080         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioParam
1081
1082         In particular, this covers the case where the parameter is k-rate, and we also
1083         have audio-rate connections to the AudioParam.
1084
1085         * Modules/webaudio/AudioParam.cpp:
1086         (WebCore::AudioParam::finalValue):
1087         (WebCore):
1088         (WebCore::AudioParam::calculateSampleAccurateValues):
1089         (WebCore::AudioParam::calculateFinalValues):
1090         * Modules/webaudio/AudioParam.h:
1091         (AudioParam):
1092         * Modules/webaudio/DelayDSPKernel.cpp:
1093         (WebCore::DelayDSPKernel::process):
1094
1095 2012-08-17  Alice Cheng  <alice_cheng@apple.com>
1096
1097         Preserve styling elements in DeleteSelectionCommand
1098         <rdar://problem/12040676>
1099         https://bugs.webkit.org/show_bug.cgi?id=93643
1100
1101         Reviewed by Ryosuke Niwa.
1102
1103         Styling elements (<link> and <style>) can appear inside editable content. To 
1104         prevent accidental deletion, we move styling elements to rootEditableElement in
1105         DeleteSelectionCommand undoably.
1106
1107         Test: editing/execCommand/delete-selection-has-style.html
1108
1109         * editing/DeleteSelectionCommand.cpp:
1110         (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss): Added to preserve styling elements during the command
1111         (WebCore::DeleteSelectionCommand::handleGeneralDelete):  Modified to preserve styling elements during the command
1112         * editing/DeleteSelectionCommand.h:
1113         (DeleteSelectionCommand):
1114
1115 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1116
1117         Unreviewed, rolling out r125940.
1118         http://trac.webkit.org/changeset/125940
1119         https://bugs.webkit.org/show_bug.cgi?id=94398
1120
1121         "Causes crashes on the bots
1122         http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r125944%20(2626)/fast/css
1123         /first-letter-removed-added-crash-log.txt" (Requested by
1124         bradee-oh on #webkit).
1125
1126         * rendering/RenderListItem.cpp:
1127         * rendering/RenderListItem.h:
1128         (RenderListItem):
1129         * rendering/RenderObject.cpp:
1130         * rendering/RenderObject.h:
1131         (RenderObject):
1132         * rendering/RenderObjectChildList.cpp:
1133         (WebCore::RenderObjectChildList::removeChildNode):
1134         * rendering/RenderObjectChildList.h:
1135         (RenderObjectChildList):
1136         * rendering/RenderQuote.cpp:
1137         * rendering/RenderQuote.h:
1138         * rendering/RenderRegion.cpp:
1139         * rendering/RenderRegion.h:
1140         (RenderRegion):
1141
1142 2012-08-17  Sukolsak Sakshuwong  <sukolsak@google.com>
1143
1144         Disconnect UndoManager when its undo scope host is destroyed
1145         https://bugs.webkit.org/show_bug.cgi?id=94388
1146
1147         Reviewed by Ryosuke Niwa.
1148
1149         Disconnect UndoManager in Element's destructor to prevent
1150         use-after-free vulnerabilities.
1151
1152         Test: editing/undomanager/undoscopehost-use-after-free.html
1153
1154         * dom/Element.cpp:
1155         (WebCore::Element::~Element):
1156
1157 2012-08-17  Dan Bernstein  <mitz@apple.com>
1158
1159         Fixed incorrect references to JSVoidCallback.{cpp,h} in the project file.
1160
1161         * WebCore.xcodeproj/project.pbxproj:
1162
1163 2012-08-17  Ryosuke Niwa  <rniwa@webkit.org>
1164
1165         Fix Xcode project file.
1166
1167         * WebCore.xcodeproj/project.pbxproj:
1168
1169 2012-08-17  Kangil Han  <kangil.han@samsung.com>
1170
1171         [BlackBerry][EFL] Remove compile warning in WebCore
1172         https://bugs.webkit.org/show_bug.cgi?id=94328
1173
1174         Reviewed by Rob Buis.
1175
1176         Fixed compile time warning in WebCore.
1177
1178         * platform/efl/RenderThemeEfl.cpp:
1179         (WebCore::RenderThemeEfl::createEdje): unused variable ‘errmsg’ [-Wunused-variable]
1180         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
1181         (WebCore::HarfBuzzShaper::selectionRect): ‘toX’ may be used uninitialized in this function [-Wuninitialized], ‘fromX’ may be used uniniti
1182
1183 2012-08-17  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1184
1185         [V8] use checkInboundData in setWebGLArrayHelper
1186         https://bugs.webkit.org/show_bug.cgi?id=93051
1187
1188         Reviewed by Kenneth Russell.
1189
1190         Use TypedArray method checkInboundData in setWebGLArrayHelper instead
1191         of performing the computation manually.
1192
1193         No new tests. This patch doesn't change behavior.
1194
1195         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1196         (WebCore::setWebGLArrayHelper):
1197
1198 2012-08-17  Alexey Proskuryakov  <ap@apple.com>
1199
1200         REGRESSION (r125912): Crashes in worker tests
1201         https://bugs.webkit.org/show_bug.cgi?id=94390
1202
1203         Reviewed by Brady Eidson and Sam Weinig.
1204
1205         * bindings/js/JSDOMBinding.cpp: (WebCore::reportException): It's always fine
1206         to report an exception on a worker context, but it's not fine to treat those as windows.
1207
1208 2012-08-17  James Robinson  <jamesr@chromium.org>
1209
1210         [chromium] Add missing header files to .gypi and missing include to CCTiledLayerImpl.cpp
1211         https://bugs.webkit.org/show_bug.cgi?id=94391
1212
1213         Reviewed by Adrienne Walker.
1214
1215         * WebCore.gypi:
1216         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1217
1218 2012-08-17  David Grogan  <dgrogan@chromium.org>
1219
1220         IndexedDB: Test if getting a TRANSACTION_INACTIVE_ERR is possible when setting version
1221         https://bugs.webkit.org/show_bug.cgi?id=94269
1222
1223         Reviewed by Ojan Vafai.
1224
1225         I don't see a path through which this code is exercised.
1226         ASSERT_NOT_REACHED doesn't cause any of our tests to fail. It might be
1227         timing-related, in which case this ASSERT should be sporadically hit.
1228         If this ASSERT is hit, see if we can write a test that exercises it or
1229         at least add comments explaining how it gets exercised. If this ASSERT
1230         is not hit after a while, change it to
1231         ASSERT(transaction.scheduleTask(...)).
1232
1233         No new tests, we're looking for existing tests to fail.
1234
1235         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1236         (WebCore::IDBDatabaseBackendImpl::setVersion):
1237         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1238
1239 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1240
1241         Unreviewed, rolling out r125922.
1242         http://trac.webkit.org/changeset/125922
1243         https://bugs.webkit.org/show_bug.cgi?id=94389
1244
1245         "Causing failing/crashing tests on Mac bots" (Requested by
1246         bradee-oh on #webkit).
1247
1248         * WebCore.gypi:
1249         * inspector/front-end/CPUProfileView.js:
1250         (WebInspector.CPUProfileHeader.prototype.createView):
1251         * inspector/front-end/CSSSelectorProfileView.js:
1252         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
1253         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
1254         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
1255         (WebInspector.CSSProfileHeader.prototype.createView):
1256         * inspector/front-end/HeapSnapshotDataGrids.js:
1257         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
1258         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
1259         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
1260         * inspector/front-end/HeapSnapshotView.js:
1261         (WebInspector.HeapSnapshotView.prototype._profiles):
1262         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
1263         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
1264         (WebInspector.HeapProfileHeader.prototype.createView):
1265         * inspector/front-end/InspectorFrontendAPI.js:
1266         (InspectorFrontendAPI.isProfilingJavaScript):
1267         (InspectorFrontendAPI.startProfilingJavaScript):
1268         (InspectorFrontendAPI.stopProfilingJavaScript):
1269         * inspector/front-end/NativeMemorySnapshotView.js:
1270         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
1271         * inspector/front-end/ProfilesPanel.js:
1272         (WebInspector.ProfileType.prototype.buttonClicked):
1273         (WebInspector.ProfileHeader.prototype.view):
1274         (WebInspector.ProfileHeader.prototype.createView):
1275         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
1276         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
1277         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
1278         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
1279         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
1280         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
1281         * inspector/front-end/Settings.js:
1282         * inspector/front-end/externs.js:
1283         * inspector/front-end/inspector.html:
1284         * inspector/front-end/inspector.js:
1285         (WebInspector._panelDescriptors):
1286         (WebInspector._toggleSearchingForNode):
1287         (WebInspector._requestZoom.set InspectorFrontendHost):
1288         (WebInspector._requestZoom):
1289         (WebInspector.documentClick.followLink):
1290         (WebInspector.documentClick):
1291         (WebInspector.frontendReused):
1292
1293 2012-08-17  Julien Chaffraix  <jchaffraix@webkit.org>
1294
1295         Introduce a will-be-removed-from-tree notification in RenderObject
1296         https://bugs.webkit.org/show_bug.cgi?id=94271
1297
1298         Reviewed by Abhishek Arya.
1299
1300         Following bug 93874, we have an insertion notification. This change adds the
1301         matching removal notification (willBeRemovedFromTree).
1302
1303         Refactoring covered by existing tests.
1304
1305         * rendering/RenderObjectChildList.cpp:
1306         (WebCore::RenderObjectChildList::removeChildNode):
1307         Removed the code from here and moved it below.
1308
1309         * rendering/RenderObject.cpp:
1310         (WebCore::RenderObject::willBeRemovedFromTree):
1311         * rendering/RenderObject.h:
1312         This is the base function that should be called by every instance.
1313
1314         * rendering/RenderListItem.cpp:
1315         (WebCore::RenderListItem::willBeRemovedFromTree):
1316         * rendering/RenderListItem.h:
1317         * rendering/RenderQuote.cpp:
1318         (WebCore::RenderQuote::willBeRemovedFromTree):
1319         * rendering/RenderQuote.h:
1320         * rendering/RenderRegion.cpp:
1321         (WebCore::RenderRegion::willBeRemovedFromTree):
1322         * rendering/RenderRegion.h:
1323         Overriden functions.
1324
1325 2012-08-17  Brian Anderson  <brianderson@chromium.org>
1326
1327         Fix vsyncTick drought when vsync throttling is disabled
1328         https://bugs.webkit.org/show_bug.cgi?id=94012
1329
1330         Reviewed by James Robinson.
1331
1332         CCFrameRateController made an assumption that every vsyncTick results
1333         in a call to didBeginFrame, which is not necessarily true and causes
1334         the CCFrameRateController to stop ticking when vsync is disabled. We
1335         move the manual ticks out of didBeginFrame and manually tick in the
1336         proper place.
1337
1338         CCFrameRateControllerTest updated with use cases that should tick
1339         without a didBeginFrame and will fail without this patch.
1340
1341         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1342         (WebCore::CCFrameRateController::setActive):
1343         (WebCore::CCFrameRateController::onTimerTick):
1344         (WebCore::CCFrameRateController::didBeginFrame):
1345
1346 2012-08-16  Ojan Vafai  <ojan@chromium.org>
1347
1348         Delete some dead code in RenderBox::computePercentageLogicalHeight
1349         https://bugs.webkit.org/show_bug.cgi?id=94262
1350
1351         Reviewed by Tony Chang.
1352
1353         I'm pretty sure this is dead code. None of the layout tests hit this code,
1354         including the ones added in the original patch http://trac.webkit.org/changeset/10983.
1355         I spent a good while and could not concoct a test that hits this code.
1356
1357         The test-cases added in that file, as well as the test-cases I came up with that should
1358         go through this codepath, instead go through computePositionedLogicalHeight and never 
1359         hit computePercentageLogicalHeight.
1360         * rendering/RenderBox.cpp:
1361         (WebCore::RenderBox::computePercentageLogicalHeight):
1362
1363 2012-08-17  Benjamin Poulain  <bpoulain@apple.com>
1364
1365         Make it easier to append a literal to StringBuilder
1366         https://bugs.webkit.org/show_bug.cgi?id=94273
1367
1368         Reviewed by Kentaro Hara.
1369
1370         Use StringBuilder::appendLiteral() in MarkupAccumulator instead of computing every
1371         value individually.
1372
1373         * editing/MarkupAccumulator.cpp:
1374         (WebCore::MarkupAccumulator::appendComment):
1375         (WebCore::MarkupAccumulator::appendXMLDeclaration):
1376         (WebCore::MarkupAccumulator::appendDocumentType):
1377         (WebCore::MarkupAccumulator::appendCDATASection):
1378
1379 2012-08-17  Benjamin Poulain  <bpoulain@apple.com>
1380
1381         Share the StringImpl the CSS property names
1382         https://bugs.webkit.org/show_bug.cgi?id=94187
1383
1384         Reviewed by Alexey Proskuryakov.
1385
1386         Previously, we would instanciate a new String every time a CSS property name was needed.
1387
1388         This patches moves the creation of the AtomicString to CSSPropertyNames and reuse that
1389         StringImpl whenever needed.
1390
1391         With the patch, accessing CSS property names from JavaScript gets about 2.1 times faster.
1392
1393         * css/CSSComputedStyleDeclaration.cpp:
1394         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1395         (WebCore::CSSComputedStyleDeclaration::item):
1396         * css/CSSPrimitiveValue.cpp:
1397         (WebCore::valueOrPropertyName):
1398         * css/CSSProperty.cpp:
1399         (WebCore::CSSProperty::cssName):
1400         * css/PropertySetCSSStyleDeclaration.cpp:
1401         (WebCore::PropertySetCSSStyleDeclaration::item):
1402         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
1403         * css/makeprop.pl:
1404         * inspector/InspectorCSSAgent.cpp:
1405         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
1406         * inspector/InspectorStyleSheet.cpp:
1407         (WebCore::InspectorStyle::styleWithProperties):
1408         * page/animation/ImplicitAnimation.cpp:
1409         (WebCore::ImplicitAnimation::sendTransitionEvent):
1410
1411 2012-08-16  James Robinson  <jamesr@chromium.org>
1412
1413         [chromium] Add Source/WebCore/platform/graphics/chromium/cc/ to include path and remove cc/ prefix from includes
1414         https://bugs.webkit.org/show_bug.cgi?id=94279
1415
1416         Reviewed by Adam Barth.
1417
1418         This brings us more in line with the rest of the WebKit repo and avoids potential header collisions during
1419         transition.
1420
1421         * WebCore.gyp/WebCore.gyp:
1422         * platform/chromium/support/CCThreadImpl.cpp:
1423         * platform/chromium/support/CCThreadImpl.h:
1424         * platform/chromium/support/WebCompositorImpl.cpp:
1425         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1426         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
1427         * platform/graphics/chromium/ContentLayerChromium.cpp:
1428         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1429         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
1430         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
1431         * platform/graphics/chromium/IOSurfaceLayerChromium.cpp:
1432         * platform/graphics/chromium/ImageLayerChromium.cpp:
1433         * platform/graphics/chromium/LayerChromium.cpp:
1434         * platform/graphics/chromium/LayerChromium.h:
1435         * platform/graphics/chromium/LayerRendererChromium.cpp:
1436         * platform/graphics/chromium/LayerRendererChromium.h:
1437         * platform/graphics/chromium/LayerTextureUpdater.h:
1438         * platform/graphics/chromium/LinkHighlight.cpp:
1439         * platform/graphics/chromium/RateLimiter.cpp:
1440         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1441         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
1442         * platform/graphics/chromium/SolidColorLayerChromium.cpp:
1443         * platform/graphics/chromium/TextureLayerChromium.cpp:
1444         * platform/graphics/chromium/TiledLayerChromium.cpp:
1445         * platform/graphics/chromium/TiledLayerChromium.h:
1446         * platform/graphics/chromium/TreeSynchronizer.cpp:
1447         * platform/graphics/chromium/VideoLayerChromium.cpp:
1448         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
1449         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1450         * platform/graphics/chromium/cc/CCAnimationCurve.cpp:
1451         * platform/graphics/chromium/cc/CCAnimationEvents.h:
1452         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp:
1453         * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h:
1454         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1455         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
1456         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
1457         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
1458         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1459         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
1460         * platform/graphics/chromium/cc/CCDrawQuad.h:
1461         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
1462         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
1463         * platform/graphics/chromium/cc/CCFrameRateController.h:
1464         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
1465         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
1466         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
1467         * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
1468         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1469         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
1470         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
1471         * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
1472         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1473         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1474         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1475         * platform/graphics/chromium/cc/CCLayerImpl.h:
1476         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
1477         * platform/graphics/chromium/cc/CCLayerIterator.h:
1478         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
1479         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
1480         * platform/graphics/chromium/cc/CCLayerSorter.h:
1481         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1482         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1483         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1484         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1485         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1486         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1487         * platform/graphics/chromium/cc/CCMathUtil.cpp:
1488         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1489         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1490         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1491         * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
1492         * platform/graphics/chromium/cc/CCPrioritizedTexture.h:
1493         * platform/graphics/chromium/cc/CCProxy.cpp:
1494         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1495         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1496         * platform/graphics/chromium/cc/CCRenderPass.h:
1497         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
1498         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
1499         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1500         * platform/graphics/chromium/cc/CCRenderSurface.h:
1501         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1502         * platform/graphics/chromium/cc/CCRenderer.h:
1503         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1504         * platform/graphics/chromium/cc/CCResourceProvider.h:
1505         * platform/graphics/chromium/cc/CCScheduler.cpp:
1506         * platform/graphics/chromium/cc/CCScheduler.h:
1507         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1508         * platform/graphics/chromium/cc/CCScopedTexture.cpp:
1509         * platform/graphics/chromium/cc/CCScopedTexture.h:
1510         * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
1511         * platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp:
1512         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.cpp:
1513         * platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.h:
1514         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1515         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1516         * platform/graphics/chromium/cc/CCSettings.cpp:
1517         * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
1518         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1519         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1520         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
1521         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
1522         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1523         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
1524         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp:
1525         * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h:
1526         * platform/graphics/chromium/cc/CCTexture.cpp:
1527         * platform/graphics/chromium/cc/CCTexture.h:
1528         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
1529         * platform/graphics/chromium/cc/CCTextureDrawQuad.h:
1530         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1531         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
1532         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
1533         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
1534         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp:
1535         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1536         * platform/graphics/chromium/cc/CCThreadProxy.h:
1537         * platform/graphics/chromium/cc/CCThreadTask.h:
1538         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
1539         * platform/graphics/chromium/cc/CCTileDrawQuad.h:
1540         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1541         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1542         * platform/graphics/chromium/cc/CCTimer.cpp:
1543         * platform/graphics/chromium/cc/CCTimingFunction.cpp:
1544         * platform/graphics/chromium/cc/CCTimingFunction.h:
1545         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1546         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1547         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp:
1548         * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h:
1549         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1550
1551 2012-08-17  Ojan Vafai  <ojan@chromium.org>
1552
1553         Delete dead code in deprecated flexbox for RTL line-clamp
1554         https://bugs.webkit.org/show_bug.cgi?id=94282
1555
1556         Reviewed by Tony Chang.
1557
1558         -webkit-line-clamp and direction:rtl is not supported. Delete some
1559         obviously dead code that half-tries to support it.
1560         * rendering/RenderDeprecatedFlexibleBox.cpp:
1561         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1562
1563 2012-08-17  John Mellor  <johnme@chromium.org>
1564
1565         Text Autosizing: Increase line height in proportion to font size.
1566         https://bugs.webkit.org/show_bug.cgi?id=91660
1567
1568         Reviewed by Julien Chaffraix.
1569
1570         This patch causes line heights to be increased in proportion to font
1571         size (so autosized text doesn't overlap itself). It does this by adding
1572         a textAutosizingMultiplier() to RenderStyle, which the lineHeight()
1573         getter multiplies its response by.
1574
1575         It also cleans up one or two things, for example treatAsInline is
1576         renamed isNotAnAutosizingContainer to clarify that its purpose is to
1577         discriminate autosizing containers (the smallest unit that we can turn
1578         Text Autosizing on or off for; in particular these are not allowed to
1579         be line participants, since multiple sizes on one line looks awful).
1580
1581         Tests: fast/text-autosizing/em-margin-border-padding.html
1582                fast/text-autosizing/narrow-child.html
1583                fast/text-autosizing/nested-em-line-height.html
1584                fast/text-autosizing/simple-paragraph.html
1585                fast/text-autosizing/span-child.html
1586                fast/text-autosizing/wide-child.html
1587
1588         * css/StyleBuilder.cpp:
1589         (WebCore::ApplyPropertyLineHeight::applyValue):
1590
1591             Replaced Length(-100.0, Percent) with RenderStyle::initialLineHeight(),
1592             which is equivalent but makes the intent clearer.
1593
1594         (WebCore::ApplyPropertyLineHeight::createHandler):
1595
1596             Use specifiedLineHeight to match setLineHeight which takes a specified
1597             line height (and generally this avoids accidentally inheriting text
1598             autosizing).
1599
1600         * css/StyleResolver.cpp:
1601         (WebCore::StyleResolver::applyProperty):
1602
1603             Similarly use specifiedLineHeight when inheriting line height.
1604
1605         * page/animation/CSSPropertyAnimation.cpp:
1606         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
1607
1608             Get and set specified lineHeight/fontSize if Text Autosizing is
1609             enabled to avoid setting the specified value to the computed value
1610             (causing values to be multiplied more than once!).
1611
1612         * platform/blackberry/RenderThemeBlackBerry.cpp:
1613         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
1614
1615             Adjust for renamed setBlendedFontSize, and maintain cast to int.
1616
1617         * rendering/RenderTextControlSingleLine.cpp:
1618         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1619
1620             Replaced Length(-100.0, Percent) with RenderStyle::initialLineHeight(),
1621             which is equivalent but makes the intent clearer.
1622
1623         * rendering/TextAutosizer.cpp:
1624         (WebCore::TextAutosizer::processSubtree):
1625
1626             Use nextInPreOrderMatchingFilter instead of traverseNext, and some
1627             other methods that got renamed.
1628
1629         (WebCore::TextAutosizer::processBox):
1630
1631             Renamed from processBlock, since RenderBoxes are sufficient; use
1632             renamed nextInPreOrderMatchingFilter; make two calls to setMultiplier
1633             (one for parent for line height) instead of processText.
1634
1635         (WebCore::TextAutosizer::setMultiplier):
1636
1637             Simplified from previous processText method; this just sets the
1638             style's textAutosizingMultiplier (and the style does the rest).
1639
1640         (WebCore::TextAutosizer::isNotAnAutosizingContainer):
1641
1642             Renamed from treatAsInline; added explanatory comment; changed
1643             isRenderBlock to isBox as boxes still have logicalWidth; changed
1644             isInlineBlockOrInlineTable to isInline as it was an omission that
1645             other inlines were allowed.
1646
1647         (WebCore::TextAutosizer::nextInPreOrderMatchingFilter):
1648
1649             Renamed from TextAutosizer::traverseNext.
1650
1651         (RenderObjectFilterFunctor):
1652
1653             Renamed from RenderObjectFilter to clafiry that it's a function ptr.
1654
1655         * rendering/TextAutosizer.h:
1656         (TextAutosizer): Previously mentioned renamings.
1657
1658         * rendering/mathml/RenderMathMLSubSup.cpp:
1659         (WebCore::RenderMathMLSubSup::fixScriptsStyle):
1660
1661             Adjust for renamed setBlendedFontSize.
1662
1663         * rendering/style/RenderStyle.cpp:
1664         (WebCore::RenderStyle::diff):
1665
1666             textAutosizingMultiplier is a StyleDifferenceLayout (we want
1667             setNeedsLayoutAndPrefWidthsRecalc to get called).
1668
1669         (WebCore::RenderStyle::setFontSize):
1670
1671             Renamed from setBlendedFontSize; if Text Autosizing is enabled and a
1672             multiplier is set it auto-calculates the computedSize; float
1673             param instead of int as discussed on webkit.org/b/91660.
1674
1675         * rendering/style/RenderStyle.h:
1676
1677             Added specifiedFontSize, computedFontSize and specifiedLineHeight
1678             getters; changed lineHeight to dynamically calculate autosized line
1679             height, and made computedLineHeight use this value instead of the
1680             specified line height; also added textAutosizingMultiplier
1681             getter/setter (the setter updated the font description's computed
1682             size, by calling setFontSize); also renamed the parameter to
1683             setLineHeight to explicitly note that it's setting the
1684             specifiedLineHeight (and can still be adjusted by autosizing).
1685
1686         * rendering/style/StyleVisualData.cpp/.h:
1687
1688             Added m_textAutosizingMultiplier (this seems the best place to put a
1689             non-inherited non-rare presentational property).
1690
1691 2012-08-17  Raphael Kubo da Costa  <rakuco@webkit.org>
1692
1693         [CMake] Add FindDBus.cmake and use it in the EFL port.
1694         https://bugs.webkit.org/show_bug.cgi?id=94319
1695
1696         Reviewed by Daniel Bates.
1697
1698         * PlatformEfl.cmake: Link against DBUS_LIBRARIES and add
1699         DBUS_INCLUDE_DIRS to the include path list if BATTERY_STATUS
1700         support is enabled.
1701
1702 2012-08-17  Pavel Feldman  <pfeldman@chromium.org>
1703
1704         Web Inspector: make profiles panel a lazily loaded module.
1705         https://bugs.webkit.org/show_bug.cgi?id=94351
1706
1707         Reviewed by Yury Semikhatsky.
1708
1709         Moving files from .html to importScript.
1710
1711         * WebCore.gypi:
1712         * inspector/front-end/CPUProfileView.js:
1713         (WebInspector.CPUProfileHeader.prototype.createView):
1714         * inspector/front-end/CSSSelectorProfileView.js:
1715         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
1716         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
1717         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
1718         (WebInspector.CSSProfileHeader.prototype.createView):
1719         * inspector/front-end/HeapSnapshotDataGrids.js:
1720         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
1721         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
1722         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
1723         * inspector/front-end/HeapSnapshotView.js:
1724         (WebInspector.HeapSnapshotView.prototype._profiles):
1725         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
1726         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
1727         (WebInspector.HeapProfileHeader.prototype.createView):
1728         * inspector/front-end/InspectorFrontendAPI.js:
1729         (InspectorFrontendAPI.isProfilingJavaScript):
1730         (InspectorFrontendAPI.startProfilingJavaScript):
1731         (InspectorFrontendAPI.stopProfilingJavaScript):
1732         * inspector/front-end/NativeMemorySnapshotView.js:
1733         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
1734         * inspector/front-end/ProfilesPanel.js:
1735         (WebInspector.ProfileType.prototype.buttonClicked):
1736         (WebInspector.ProfileHeader.prototype.view):
1737         (WebInspector.ProfileHeader.prototype.createView):
1738         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
1739         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
1740         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
1741         (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
1742         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
1743         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
1744         * inspector/front-end/externs.js:
1745         * inspector/front-end/inspector.html:
1746         * inspector/front-end/inspector.js:
1747         (WebInspector._panelDescriptors):
1748         (WebInspector._toggleSearchingForNode):
1749         (WebInspector._profilesLinkifier):
1750         (WebInspector._requestZoom.set InspectorFrontendHost):
1751         (WebInspector._requestZoom):
1752         (WebInspector.documentClick.followLink):
1753         (WebInspector.documentClick):
1754
1755 2012-08-17  Dominic Mazzoni  <dmazzoni@google.com>
1756
1757         REGRESSION(r125710) - canvas-fallback-content tests asserting in Chromium
1758         https://bugs.webkit.org/show_bug.cgi?id=94156
1759
1760         Reviewed by Chris Fleizach.
1761
1762         When determining if a Node is focusable, check the canvas subtree
1763         case first before encountering assertions that assume that anything
1764         focusable must have an associated renderer.
1765
1766         Fixes existing tests so they don't assert.
1767
1768         * dom/Node.cpp:
1769         (WebCore::Node::isFocusable):
1770
1771 2012-08-17  Arpita Bahuguna  <arpitabahuguna@gmail.com>
1772
1773         ASSERTION FAILED: allocatedMaxLogicalWidth <= cellMaxLogicalWidth : int WebCore::AutoTableLayout::calcEffectiveLogicalWidth()
1774         https://bugs.webkit.org/show_bug.cgi?id=92471
1775
1776         Reviewed by Julien Chaffraix.
1777
1778         The assert occurs due to the float based computations causing a floating
1779         point rounding error between allocatedMaxLogicalWidth and cellMaxLogicalWidth.
1780
1781         Test: fast/table/assert-autotablelayout-maxlogicalwidth.html
1782
1783         * rendering/AutoTableLayout.cpp:
1784         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1785         Converting float based calculations for computing max logical width to int based;
1786         similar to the calculations for min logical width.
1787
1788 2012-08-17  John J. Barton  <johnjbarton@chromium.org>
1789
1790         Web Inspector: Add //@ sourceURL to test-runner evals
1791         https://bugs.webkit.org/show_bug.cgi?id=94268
1792
1793         Reviewed by Pavel Feldman.
1794
1795         Postpend a line that tells the debugger what to call this eval buffer.
1796         Name ends in the sequennce number so all evals will appear together.
1797         evaluateInWebInspector0.js eg
1798
1799         * inspector/front-end/TestController.js:
1800         (WebInspector.evaluateForTestInFrontend):
1801
1802 2012-08-17  Adam Barth  <abarth@webkit.org>
1803
1804         REGRESSION (r125592): Crash in Console::addMessage, under InjectedBundle::reportException
1805         https://bugs.webkit.org/show_bug.cgi?id=94220
1806
1807         Reviewed by Alexey Proskuryakov.
1808
1809         Previously, this code was trying to detect whether a DOMWindow is
1810         currently displayed in a Frame by testing whether
1811         DOMWindow->scriptExecutionContext is zero. That used to work, but now
1812         that DOMWindow->scriptExecutionContext is non-zero for detached
1813         DOMWindow, this code doesn't work anymore. This patch replaces the code
1814         with the current idiom, which is to call
1815         DOMWindow::isCurrentDisplayedInFrame.
1816
1817         Alexey and I couldn't figure out how to test this change. This bug
1818         causes a crash when some Safari extensions are installed, but it's not
1819         clear whether this bug can be triggered from the web platform. We're
1820         going to ask Jessie for ideas when she gets back from vacation.
1821
1822         * bindings/js/JSDOMBinding.cpp:
1823         (WebCore::reportException):
1824
1825 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1826
1827         Unreviewed, rolling out r125892.
1828         http://trac.webkit.org/changeset/125892
1829         https://bugs.webkit.org/show_bug.cgi?id=94350
1830
1831         Broke windows build (Requested by vollick on #webkit).
1832
1833         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
1834         (WebCore::CCActiveAnimation::CCActiveAnimation):
1835         (WebCore::CCActiveAnimation::~CCActiveAnimation):
1836         (WebCore::CCActiveAnimation::setRunState):
1837         (WebCore::CCActiveAnimation::cloneForImplThread):
1838         * platform/graphics/chromium/cc/CCActiveAnimation.h:
1839         (CCActiveAnimation):
1840         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1841         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1842         (WebCore):
1843         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
1844         (WebCore::CCLayerAnimationController::tickAnimations):
1845
1846 2012-08-17  Zach Kuznia  <zork@chromium.org>
1847
1848         Add support for Skia Magnifier filter to Chromium layers
1849         https://bugs.webkit.org/show_bug.cgi?id=93939
1850
1851         Reviewed by James Robinson.
1852
1853         This is used by Chrome OS for the screen magnifier
1854
1855         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1856         (WebCore::CCRenderSurfaceFilters::optimize):
1857         (WebCore::CCRenderSurfaceFilters::apply):
1858
1859 2012-08-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1860
1861         Touch adjustment for context menu gestures
1862         https://bugs.webkit.org/show_bug.cgi?id=94101
1863
1864         Reviewed by Antonio Gomes.
1865
1866         Adds a new filter for detecting nodes that provides extra context-menu items, 
1867         and use that in a new set of functions for adjusting context-menu gestures.
1868
1869         Tests: touchadjustment/context-menu-select-text.html
1870                touchadjustment/context-menu.html
1871
1872         * page/EventHandler.cpp:
1873         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
1874         (WebCore::EventHandler::adjustGesturePosition):
1875         * page/EventHandler.h:
1876         (EventHandler):
1877         * page/TouchAdjustment.cpp:
1878         (WebCore::TouchAdjustment::nodeProvidesContextMenuItems):
1879         (TouchAdjustment):
1880         (WebCore::findBestContextMenuCandidate):
1881         * page/TouchAdjustment.h:
1882         * testing/Internals.cpp:
1883         (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
1884         (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
1885         * testing/Internals.h:
1886         (Internals):
1887         * testing/Internals.idl:
1888
1889 2012-08-17  Pavel Feldman  <pfeldman@chromium.org>
1890
1891         https://bugs.webkit.org/show_bug.cgi?id=94326
1892
1893         Reviewed by Vsevolod Vlasov.
1894
1895         Loading code on demand (upon the panel access).
1896
1897         * WebCore.gypi:
1898         * inspector/front-end/AuditsPanel.js:
1899         * inspector/front-end/CodeMirrorTextEditor.js:
1900         (WebInspector.CodeMirrorTextEditor):
1901         (WebInspector.CodeMirrorTextEditor.prototype._toRange):
1902         * inspector/front-end/ElementsPanel.js:
1903         * inspector/front-end/ExtensionServer.js:
1904         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1905         * inspector/front-end/Panel.js:
1906         (WebInspector.Panel):
1907         (WebInspector.PanelDescriptor):
1908         (WebInspector.PanelDescriptor.prototype.panel):
1909         * inspector/front-end/ResourcesPanel.js:
1910         * inspector/front-end/SourceFrame.js:
1911         (WebInspector.SourceFrame):
1912         * inspector/front-end/TimelinePanel.js:
1913         * inspector/front-end/inspector.html:
1914         * inspector/front-end/inspector.js:
1915         (WebInspector._panelDescriptors):
1916         (WebInspector.doLoadedDone):
1917         * inspector/front-end/utilities.js:
1918
1919 2012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1920
1921         Unreviewed, rolling out r125880.
1922         http://trac.webkit.org/changeset/125880
1923         https://bugs.webkit.org/show_bug.cgi?id=94347
1924
1925         Breaks front-end compilation: SourceFrame passed where View is
1926         expected. (Requested by pfeldman on #webkit).
1927
1928         * inspector/front-end/CodeMirrorTextEditor.js:
1929         (WebInspector.CodeMirrorTextEditor.prototype._loadLibraries):
1930         * inspector/front-end/DefaultTextEditor.js:
1931         (WebInspector.DefaultTextEditor.prototype.wasShown):
1932         (WebInspector.DefaultTextEditor.prototype.willHide):
1933         * inspector/front-end/JavaScriptSourceFrame.js:
1934         (WebInspector.JavaScriptSourceFrame):
1935         (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
1936         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
1937         * inspector/front-end/SourceFrame.js:
1938         (WebInspector.SourceFrame):
1939         (WebInspector.SourceFrame.prototype.wasShown):
1940         (WebInspector.SourceFrame.prototype.willHide):
1941         * inspector/front-end/TextEditor.js:
1942         * inspector/front-end/scriptsPanel.css:
1943         (.script-view):
1944         (.script-view.visible):
1945
1946 2012-08-17  Milian Wolff  <milian.wolff@kdab.com>
1947
1948         [Qt] QNX build fails due to ctype usage in system headers
1949         https://bugs.webkit.org/show_bug.cgi?id=93849
1950
1951         Reviewed by Simon Hausmann.
1952
1953         Move the check for whether DisallowCType should be active or not
1954         to the DisallowCType.h header. This way, we can update the list
1955         of platforms or OSes which do not work with this header in a
1956         central place. All users can now safely include the header
1957         and do not need to place custom guards around it.
1958
1959         * config.h:
1960
1961 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
1962
1963         Unreviewed trivial build fix: Correct file name in bindings/js/DOMTransaction.h used in HEADERS
1964
1965         * Target.pri:
1966
1967 2012-08-17  Ian Vollick  <vollick@chromium.org>
1968
1969         [chromium] Add tracing for active composited animations
1970         https://bugs.webkit.org/show_bug.cgi?id=84210
1971
1972         Reviewed by James Robinson.
1973
1974         This patch issues the trace events from the animations. Animations will
1975         report when they start and finish on the main and impl threads (via
1976         TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
1977         change state.
1978
1979         No new tests, only changes tracing behavior.
1980
1981         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
1982         (WebCore::CCActiveAnimation::CCActiveAnimation):
1983         (WebCore::CCActiveAnimation::~CCActiveAnimation):
1984         (WebCore::CCActiveAnimation::setRunState):
1985         (WebCore::CCActiveAnimation::clone):
1986         (WebCore):
1987         (WebCore::CCActiveAnimation::cloneAndInitialize):
1988         * platform/graphics/chromium/cc/CCActiveAnimation.h:
1989         (WebCore::CCActiveAnimation::isControllingInstance):
1990         (CCActiveAnimation):
1991         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1992         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1993         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
1994         (WebCore::CCLayerAnimationController::tickAnimations):
1995
1996 2012-08-17  John J. Barton  <johnjbarton@chromium.org>
1997
1998         Web Inspector: enhance external test-runner and add cleanup code
1999         https://bugs.webkit.org/show_bug.cgi?id=94231
2000
2001         Reviewed by Pavel Feldman.
2002
2003         add 'click on test result to select for next run' feature.
2004         remember the users size for the inspector popup.
2005         refactor server URLs to one location at top of file.
2006         use the same value for both tests and scanner servers.
2007         remove one extra instruction on the page.
2008         refactor clean up code.
2009         close the two popup windows if the test-runner.html is reloaded.
2010
2011         * inspector/front-end/test-runner.html:
2012
2013 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
2014
2015         Unreviewed trivial follow-up fix to r125873: Add missing adoptRef to avoid leaks.
2016
2017         * bridge/qt/qt_instance.cpp:
2018         (JSC::Bindings::WeakMap::set):
2019
2020 2012-08-17  Kentaro Hara  <haraken@chromium.org>
2021
2022         Remove RefPtr from DateInputType::m_pickerElement
2023         https://bugs.webkit.org/show_bug.cgi?id=94330
2024
2025         Reviewed by Kent Tamura.
2026
2027         To avoid reference cycles of RefPtr<Node>s, we want to remove
2028         unnecessary RefPtr<Node>s. The rationale is describe in bug 94324.
2029
2030         DateInputType::m_pickerElement does not need to be a RefPtr<Node>,
2031         because it is guaranteed to point to a shadow DOM tree of the DateInputType
2032         node, which is guaranteed to exist in the subtree of the DateInputType node.
2033
2034         No tests. No change in behavior.
2035
2036         * html/DateInputType.cpp:
2037         (WebCore::DateInputType::DateInputType):
2038         (WebCore::DateInputType::createShadowSubtree):
2039         (WebCore::DateInputType::destroyShadowSubtree):
2040         * html/DateInputType.h:
2041         (DateInputType):
2042
2043 2012-08-17  Dan Carney  <dcarney@google.com>
2044
2045         Refactor away IsolatedWorld
2046         https://bugs.webkit.org/show_bug.cgi?id=93971
2047
2048         Reviewed by Kentaro Hara.
2049
2050         Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
2051         This update fixes a bad assertion which caused the previous
2052         version to be rolled back.
2053
2054         No tests.  No change in functionality.
2055
2056         * UseV8.cmake:
2057         * WebCore.gypi:
2058         * bindings/v8/DOMWrapperWorld.cpp:
2059         (WebCore):
2060         (WebCore::mainThreadNormalWorld):
2061         * bindings/v8/DOMWrapperWorld.h:
2062         (WebCore):
2063         (DOMWrapperWorld):
2064         (WebCore::DOMWrapperWorld::create):
2065         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2066         (WebCore::DOMWrapperWorld::count):
2067         (WebCore::DOMWrapperWorld::worldId):
2068         (WebCore::DOMWrapperWorld::domDataStore):
2069         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2070         * bindings/v8/IsolatedWorld.cpp: Removed.
2071         * bindings/v8/IsolatedWorld.h: Removed.
2072         * bindings/v8/V8DOMWrapper.h:
2073         (WebCore::V8DOMWrapper::getCachedWrapper):
2074         * bindings/v8/V8IsolatedContext.cpp:
2075         (WebCore::V8IsolatedContext::V8IsolatedContext):
2076         (WebCore::V8IsolatedContext::destroy):
2077         * bindings/v8/V8IsolatedContext.h:
2078         (WebCore::V8IsolatedContext::getEntered):
2079         (WebCore::V8IsolatedContext::world):
2080         (V8IsolatedContext):
2081         * bindings/v8/V8PerIsolateData.h:
2082         (WebCore::V8PerIsolateData::registerDOMDataStore):
2083         (WebCore::V8PerIsolateData::unregisterDOMDataStore):
2084
2085 2012-08-17  Kangil Han  <kangil.han@samsung.com>
2086
2087         [EFL] Remove alloca usage
2088         https://bugs.webkit.org/show_bug.cgi?id=93931
2089
2090         Reviewed by Carlos Garcia Campos.
2091
2092         This patch is unifying the approaches for the creation of Edje_Message_Float_Set messages, and getting rid of alloca is part of it, since it is not portable.
2093
2094         * platform/efl/RenderThemeEfl.cpp:
2095         (WebCore::RenderThemeEfl::paintThemePart):
2096         * platform/efl/ScrollbarEfl.cpp:
2097         (ScrollbarEfl::updateThumbPositionAndProportion):
2098
2099 2012-08-17  Alexander Pavlov  <apavlov@chromium.org>
2100
2101         Web Inspector: hovering over an image link in Timeline popup kills popup
2102         https://bugs.webkit.org/show_bug.cgi?id=94213
2103
2104         Reviewed by Pavel Feldman.
2105
2106         - Fixed bug with ElementsPanel PopoverHelper acting on the TimelinePanel (due to which the original issue occurs).
2107         - Image preview added to resource entries popover in the timeline.
2108         - Extracted the core image preview building code into UIUtils.js.
2109         - Drive-by: fixed image centering in the preview element.
2110
2111         * inspector/front-end/ElementsPanel.js:
2112         (WebInspector.ElementsPanel):
2113         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
2114         (WebInspector.ElementsPanel.prototype._showPopover):
2115         * inspector/front-end/TimelinePanel.js:
2116         (WebInspector.TimelinePanel.prototype._showPopover.showCallback):
2117         (WebInspector.TimelinePanel.prototype._showPopover):
2118         * inspector/front-end/TimelinePresentationModel.js:
2119         (WebInspector.TimelinePresentationModel.needsPreviewElement):
2120         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
2121         First build the image preview element if necessary, then do everything else.
2122         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
2123         Original generatePopupContent() code plus the preview generation when necessary.
2124         * inspector/front-end/UIUtils.js:
2125         (WebInspector.buildImagePreviewContents.errorCallback):
2126         (WebInspector.buildImagePreviewContents.buildContent):
2127         (WebInspector.buildImagePreviewContents): Extracted from ElementsPanel. Enabled building of preview elements without the dimensions text data.
2128         * inspector/front-end/elementsPanel.css:
2129         (.image-preview-container):
2130         (.image-preview-container img):
2131         * inspector/front-end/timelinePanel.css:
2132         (.image-preview-container): Fixed centering of the preview container contents.
2133         (.image-preview-container img):
2134         (.image-container):
2135
2136 2012-08-17  Andrey Kosyakov  <caseq@chromium.org>
2137
2138         Web Inspector: decouple extension server from the Elements panel
2139         https://bugs.webkit.org/show_bug.cgi?id=94322
2140
2141         Reviewed by Pavel Feldman.
2142
2143         - relay WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged received in ElementsPanel on WebInspector.notifications;
2144
2145         * inspector/front-end/ElementsPanel.js:
2146         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2147         * inspector/front-end/ExtensionServer.js:
2148
2149 2012-08-17  Jan Keromnes  <janx@linux.com>
2150
2151         Web Inspector: SourceFrame shouldn't be a View
2152         https://bugs.webkit.org/show_bug.cgi?id=93444
2153
2154         Reviewed by Pavel Feldman.
2155
2156         Move SourceFrame from being a View to being an Object. This will allow
2157         future ExtensionSourceFrames to share a single iframe ExtensionView.
2158
2159         * inspector/front-end/CodeMirrorTextEditor.js:
2160         (WebInspector.CodeMirrorTextEditor.prototype.wasShown):
2161         (WebInspector.CodeMirrorTextEditor.prototype.willHide):
2162         * inspector/front-end/DefaultTextEditor.js:
2163         (WebInspector.DefaultTextEditor.prototype.wasShown):
2164         (WebInspector.DefaultTextEditor.prototype.willHide):
2165         * inspector/front-end/JavaScriptSourceFrame.js:
2166         (WebInspector.JavaScriptSourceFrame):
2167         * inspector/front-end/SourceFrame.js:
2168         (WebInspector.SourceFrame):
2169         (WebInspector.SourceFrame.prototype.show):
2170         (WebInspector.SourceFrame.prototype.detach):
2171         (WebInspector.SourceFrame.prototype.focus):
2172         (WebInspector.SourceFrame.prototype._onTextEditorWasShown):
2173         (WebInspector.SourceFrame.prototype._onTextEditorWillHide):
2174         * inspector/front-end/TextEditor.js:
2175         * inspector/front-end/scriptsPanel.css:
2176
2177 2012-08-17  Pavel Chadnov  <chadnov@google.com>
2178
2179         Web Inspector: requests filtering in network tab
2180         https://bugs.webkit.org/show_bug.cgi?id=93090
2181
2182         Reviewed by Vsevolod Vlasov.
2183
2184         Added filtering support to search panel.
2185         Implemented filtering for network panel.
2186         
2187         * inspector/front-end/NetworkPanel.js:
2188         (WebInspector.NetworkLogView.prototype._clearSearchMatchedList):
2189         (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
2190         (WebInspector.NetworkLogView.prototype._highlightMatchedRequests):
2191         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequestForSearch):
2192         (WebInspector.NetworkLogView.prototype.performSearch):
2193         (WebInspector.NetworkLogView.prototype.performFilter):
2194         (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
2195         (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
2196         (WebInspector.NetworkPanel.prototype.performFilter):
2197         (WebInspector.NetworkDataGridNode.prototype._highlightMatchedSubstring):
2198         * inspector/front-end/SearchController.js:
2199         (WebInspector.SearchController):
2200         (WebInspector.SearchController.prototype.cancelSearch):
2201         (WebInspector.SearchController.prototype.showSearchField):
2202         (WebInspector.SearchController.prototype._switchFilterToSearch):
2203         (WebInspector.SearchController.prototype._switchSearchToFilter):
2204         (WebInspector.SearchController.prototype._updateFilterVisibility):
2205         (WebInspector.SearchController.prototype._replaceAll):
2206         (WebInspector.SearchController.prototype._filterCheckboxClick):
2207         (WebInspector.SearchController.prototype._performFilter):
2208         (WebInspector.SearchController.prototype._onFilterInput):
2209         (WebInspector.SearchController.prototype._onSearchInput):
2210         (WebInspector.SearchController.prototype.resetFilter):
2211         * inspector/front-end/inspector.css:
2212         (.filter):
2213         * inspector/front-end/networkLogView.css:
2214         (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other:not(.filtered-out)):
2215
2216 2012-08-17  Anthony Berent  <aberent@chromium.org>
2217
2218         View source doesn't interpret escape characters in hrefs.
2219         https://bugs.webkit.org/show_bug.cgi?id=94216
2220
2221         Reviewed by Adam Barth.
2222
2223         The cause was that HTMLViewSourceDocument was passing the unparsed content of the href attribute to the DOM as the URL for the link.
2224         The fix is to pass the parsed content of the href attribute to the DOM.
2225
2226         Test: fast/forms/frames/viewsource-link-on-href-value.html extended to test this case.
2227
2228         * html/HTMLViewSourceDocument.cpp:
2229         (WebCore::HTMLViewSourceDocument::processTagToken): Pass parsed URL to AddRange.
2230         (WebCore::HTMLViewSourceDocument::addRange):Added argument for parsed URL, and used this instead of text, to create link.
2231         * html/HTMLViewSourceDocument.h:
2232         (HTMLViewSourceDocument): Add new link argument to addRange for parsed URL, defaulting to "".
2233
2234 2012-08-17  Yoshifumi Inoue  <yosin@chromium.org>
2235
2236         [Forms] Rename SpinButtonElement::StepActionHandler to SpinButtonOwner
2237         https://bugs.webkit.org/show_bug.cgi?id=94311
2238
2239         Reviewed by Kent Tamura.
2240
2241         This patch renames SpinButtonElement::StepActionHandler class to
2242         SpinButtonOwner for adding functions to it for communicating spin
2243         button and its owner.
2244
2245         No new tests. This patch doesn't change behavior.
2246
2247         * html/TextFieldInputType.cpp:
2248         (WebCore::TextFieldInputType::~TextFieldInputType):
2249         (WebCore::TextFieldInputType::destroyShadowSubtree):
2250         * html/TextFieldInputType.h:
2251         (TextFieldInputType):
2252         * html/shadow/DateTimeEditElement.cpp:
2253         (WebCore::DateTimeEditElement::~DateTimeEditElement):
2254         * html/shadow/DateTimeEditElement.h:
2255         (DateTimeEditElement):
2256         * html/shadow/SpinButtonElement.cpp:
2257         (WebCore::SpinButtonElement::SpinButtonElement):
2258         (WebCore::SpinButtonElement::create):
2259         (WebCore::SpinButtonElement::doStepAction):
2260         * html/shadow/SpinButtonElement.h:
2261         (WebCore::SpinButtonElement::SpinButtonOwner::~SpinButtonOwner):
2262         (SpinButtonElement):
2263         (WebCore::SpinButtonElement::removeSpinButtonOwner):
2264
2265 2012-08-16  Simon Hausmann  <simon.hausmann@nokia.com>
2266
2267         [Qt] Replace use of internal Weak smart pointer with JSWeakObjectMap
2268         https://bugs.webkit.org/show_bug.cgi?id=93872
2269
2270         Reviewed by Kenneth Rohde Christiansen.
2271
2272         The intention of this patch series is to replace use of internal JSC
2273         API with use of the stable and public C API.
2274
2275         The JSC::Weak template is internal API and the only part of the C API
2276         that exposes similar functionality is the JSWeakObjectMap. It is
2277         special in the sense that its life-time is tied to the life-time of the
2278         JS global object, which in turn is subject to garbage collection. In
2279         order to maximize re-use of the same map across different JSContextRef
2280         instances, we use one JSWeakObjectMap per context group and store the
2281         map in a separate context.
2282
2283         * bridge/qt/qt_instance.cpp:
2284         (JSC::Bindings::unusedWeakObjectMapCallback):
2285         (Bindings):
2286         (JSC::Bindings::WeakMapImpl::WeakMapImpl):
2287         (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
2288         (JSC::Bindings::WeakMap::~WeakMap):
2289         (JSC::Bindings::WeakMap::set):
2290         (JSC::Bindings::WeakMap::get):
2291         (JSC::Bindings::WeakMap::remove):
2292         * bridge/qt/qt_instance.h:
2293         (WeakMapImpl):
2294         (Bindings):
2295         (WeakMap):
2296         (QtInstance):
2297         * bridge/qt/qt_runtime.cpp:
2298         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
2299         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2300         * bridge/qt/qt_runtime.h:
2301         (QtRuntimeMethod):
2302
2303
2304 2012-08-16  Pavel Feldman  <pfeldman@chromium.org>
2305
2306         Web Inspector: build Elements, Resources, Timeline, Audits and Console panels lazily.
2307         https://bugs.webkit.org/show_bug.cgi?id=94222
2308
2309         Reviewed by Vsevolod Vlasov.
2310
2311         There is no need to construct these panels on inspector startup - we can do that lazily.
2312         This change introduces the concept of PanelDescriptor that is sufficient for the panel
2313         representation before it has been selected. It also makes selected panels build lazily.
2314
2315         The next step is to migrate rest of the panels and load the panel code lazily as well.
2316         That should speed up startup time significantly.
2317
2318         * inspector/front-end/AuditsPanel.js:
2319         (WebInspector.AuditsPanel):
2320         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
2321         (WebInspector.AuditsSidebarTreeElement):
2322         (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
2323         (WebInspector.AuditResultSidebarTreeElement):
2324         (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
2325         * inspector/front-end/ConsolePanel.js:
2326         * inspector/front-end/DOMStorage.js:
2327         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
2328         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
2329         * inspector/front-end/Database.js:
2330         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
2331         * inspector/front-end/ElementsPanel.js:
2332         (WebInspector.ElementsPanel):
2333         (WebInspector.ElementsPanel.prototype.revealAndSelectNode):
2334         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
2335         (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
2336         * inspector/front-end/ElementsTreeOutline.js:
2337         (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
2338         * inspector/front-end/ExtensionPanel.js:
2339         (WebInspector.ExtensionPanel):
2340         (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
2341         * inspector/front-end/ExtensionServer.js:
2342         (WebInspector.ExtensionServer.prototype._onCreatePanel):
2343         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
2344         * inspector/front-end/InspectorFrontendAPI.js:
2345         (InspectorFrontendAPI.isTimelineProfilingEnabled):
2346         (InspectorFrontendAPI.setTimelineProfilingEnabled):
2347         (InspectorFrontendAPI.showConsole):
2348         (InspectorFrontendAPI.showResources):
2349         (InspectorFrontendAPI.enterInspectElementMode):
2350         * inspector/front-end/InspectorView.js:
2351         (WebInspector.InspectorView):
2352         (WebInspector.InspectorView.prototype.addPanel):
2353         (WebInspector.InspectorView.prototype.panel):
2354         (WebInspector.InspectorView.prototype.showPanel):
2355         (WebInspector.InspectorView.prototype._keyDownInternal):
2356         * inspector/front-end/NetworkPanel.js:
2357         * inspector/front-end/Panel.js:
2358         (WebInspector.Panel.prototype.wasShown):
2359         (WebInspector.Panel.prototype.willHide):
2360         (WebInspector.PanelDescriptor):
2361         (WebInspector.PanelDescriptor.prototype.name):
2362         (WebInspector.PanelDescriptor.prototype.title):
2363         (WebInspector.PanelDescriptor.prototype.iconURL):
2364         (WebInspector.PanelDescriptor.prototype.setIconURL):
2365         (WebInspector.PanelDescriptor.prototype.panel):
2366         (WebInspector.PanelDescriptor.prototype.lazy):
2367         * inspector/front-end/ProfilesPanel.js:
2368         * inspector/front-end/ResourceTreeModel.js:
2369         (WebInspector.ResourceTreeModel.prototype.cachedResourcesLoaded):
2370         * inspector/front-end/ResourcesPanel.js:
2371         (WebInspector.ResourcesPanel):
2372         * inspector/front-end/ScriptsPanel.js:
2373         * inspector/front-end/StylesSidebarPane.js:
2374         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2375         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2376         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
2377         * inspector/front-end/TimelinePanel.js:
2378         * inspector/front-end/Toolbar.js:
2379         (WebInspector.Toolbar.prototype.addPanel):
2380         (WebInspector.Toolbar.prototype._createPanelToolbarItem.onToolbarItemClicked):
2381         (WebInspector.Toolbar.prototype._createPanelToolbarItem.panelSelected):
2382         (WebInspector.Toolbar.prototype._createPanelToolbarItem):
2383         (WebInspector.Toolbar.prototype._panelSelected):
2384         (WebInspector.Toolbar.prototype._setDropdownVisible):
2385         (WebInspector.ToolbarDropdown):
2386         (WebInspector.ToolbarDropdown.prototype.show):
2387         (WebInspector.ToolbarDropdown.prototype._populate):
2388         * inspector/front-end/inspector.css:
2389         (.toolbar-small .toolbar-icon.custom-toolbar-icon):
2390         * inspector/front-end/inspector.js:
2391         (WebInspector._panelDescriptors):
2392         (WebInspector._panelSelected):
2393         (WebInspector._createGlobalStatusBarItems):
2394         (WebInspector.documentClick.followLink):
2395         (WebInspector.documentClick):
2396         (WebInspector.openResource):
2397         (WebInspector.showPanel):
2398         (WebInspector.panel):
2399         (WebInspector.inspect.):
2400         (WebInspector.inspect):
2401         (WebInspector._showAnchorLocation):
2402         (WebInspector.showProfileForURL):
2403         (WebInspector.frontendReused):
2404
2405 2012-08-17  Pascal Massimino  <pascal.massimino@gmail.com>
2406
2407         libwebp-0.2.0: handle alpha channel if present
2408
2409         https://bugs.webkit.org/show_bug.cgi?id=93430
2410
2411         Reviewed by Adam Barth.
2412
2413         updated the Layout test webp-image-decoding.html
2414
2415         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2416         (outputMode):
2417                 switch to premultiplied-RGB if needed
2418         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
2419         (WebCore::WEBPImageDecoder::decode):
2420                 use WebPGetFeatures() instead of WebPGetInfo(),
2421                 to detect presence of alpha channel
2422         * platform/image-decoders/webp/WEBPImageDecoder.h:
2423         (WEBPImageDecoder):
2424                 add a m_hasAlpha field
2425
2426 2012-08-17  Yoshifumi Inoue  <yosin@chromium.org>
2427
2428         [Forms] Enable multiple fields time input UI for Chromium except Android
2429         https://bugs.webkit.org/show_bug.cgi?id=94195
2430
2431         Reviewed by Kent Tamura.
2432
2433         This patch enables multiple fields time input UI for Chromium except
2434         for Android.
2435
2436         No new tests. Existing tests in fast/forms/time-multiple-fields/
2437         covers appearance and functionality of multiple fields time UI.
2438
2439         A manual checking for browser displays multiple fields time input UI
2440         is needed.
2441
2442         * bindings/generic/RuntimeEnabledFeatures.cpp:
2443         (WebCore): Changed RuntimeEnabledFeatures::isInputTypeTimeEnabled to true
2444         if ENABLE_INPUT_TYPE_TIME is enabled.
2445
2446 2012-08-17  Yoshifumi Inoue  <yosin@chromium.org>
2447
2448         [Forms] Introduce SpinButtonElement.{cpp,h} into build
2449         https://bugs.webkit.org/show_bug.cgi?id=94289
2450
2451         Reviewed by Kent Tamura.
2452
2453         This patch introduces html/shadow/SpinButtonElement.{cpp,h} into
2454         build, files were copied from TextControlInnerElements.{cpp,h} by
2455         bug 93943.
2456
2457         No new tests. This patch doesn't changes behavior.
2458
2459         * CMakeLists.txt: Added SpinButtonElement.cpp
2460         * GNUmakefile.list.am: Added SpinButtonElement.{cpp,h}
2461         * Target.pri: Added SpinButtonElement.cpp
2462         * WebCore.gypi: Added SpinButtonElement.{cpp,h}
2463         * WebCore.vcproj/WebCore.vcproj: Added SpinButtonElement.{cpp,h}
2464         * WebCore.xcodeproj/project.pbxproj: Added SpinButtonElement.{cpp,h}
2465         * accessibility/AccessibilitySpinButton.h: Replaced include file to SpinButtonElement.h from TextControlInnerElements.h
2466         * html/TextFieldInputType.h: Added include file SpinButtonElement.h
2467         * html/shadow/DateTimeEditElement.h: Replaced include file to SpinButtonElement.h from TextControlInnerElements.h
2468         * html/shadow/SpinButtonElement.cpp: Removed code other than SpinButtonElement.
2469         * html/shadow/SpinButtonElement.h: Removed code other than SpinButtonElement.
2470         * html/shadow/TextControlInnerElements.cpp: Removed code of SpinButtonElement.
2471         * html/shadow/TextControlInnerElements.h: Removed SpinButtonElement.
2472         * rendering/RenderTheme.cpp: Added include file SpinButtonElement.h
2473
2474 2012-08-17  Sukolsak Sakshuwong  <sukolsak@google.com>
2475
2476         Implement UndoManager's V8 bindings
2477         https://bugs.webkit.org/show_bug.cgi?id=93912
2478
2479         Reviewed by Ryosuke Niwa.
2480
2481         This patch implements V8 bindings for UndoManager's transact() method.
2482         We keep alive the user objects passed to transact() by storing them in
2483         a hidden property of DOMTransaction's wrapper and registering implicit
2484         references from UndoManager to DOMTransaction.
2485
2486         Tests: editing/undomanager/domtransaction-survives-gc.html
2487                editing/undomanager/undomanager-isolated-world.html
2488                editing/undomanager/undomanager-transact.html
2489                editing/undomanager/undomanager-undo-redo.html
2490                editing/undomanager/undomanager-use-after-free.html
2491
2492         * CMakeLists.txt:
2493         * DerivedSources.cpp:
2494         * DerivedSources.make:
2495         * DerivedSources.pri:
2496         * GNUmakefile.list.am:
2497         * Target.pri:
2498         * UseJSC.cmake:
2499         * UseV8.cmake:
2500         * WebCore.gypi:
2501         * WebCore.vcproj/WebCore.vcproj:
2502         * WebCore.xcodeproj/project.pbxproj:
2503         * bindings/js/DOMTransaction.cpp: Added.
2504         (WebCore):
2505         (WebCore::DOMTransaction::DOMTransaction):
2506         (WebCore::DOMTransaction::create):
2507         (WebCore::DOMTransaction::apply):
2508         (WebCore::DOMTransaction::unapply):
2509         (WebCore::DOMTransaction::reapply):
2510         * bindings/js/DOMTransaction.h: Added.
2511         (WebCore):
2512         (DOMTransaction):
2513         (WebCore::DOMTransaction::undoManager):
2514         (WebCore::DOMTransaction::setUndoManager):
2515         * bindings/js/JSBindingsAllInOne.cpp:
2516         * bindings/js/JSUndoManagerCustom.cpp: Added.
2517         (WebCore):
2518         (WebCore::JSUndoManager::transact):
2519         * bindings/v8/DOMTransaction.cpp: Added.
2520         (WebCore):
2521         (WebCore::DOMTransaction::DOMTransaction):
2522         (WebCore::DOMTransaction::create):
2523         (WebCore::DOMTransaction::apply):
2524         (WebCore::DOMTransaction::unapply):
2525         (WebCore::DOMTransaction::reapply):
2526         (WebCore::DOMTransaction::getFunction):
2527         (WebCore::DOMTransaction::callFunction):
2528         * bindings/v8/DOMTransaction.h: Added.
2529         (WebCore):
2530         (DOMTransaction):
2531         (WebCore::DOMTransaction::undoManager):
2532         (WebCore::DOMTransaction::setUndoManager):
2533         * bindings/v8/V8HiddenPropertyName.h:
2534         (WebCore):
2535         * bindings/v8/custom/V8DOMTransactionCustom.cpp: Added.
2536         (WebCore):
2537         (WebCore::V8DOMTransaction::visitDOMWrapper):
2538         * bindings/v8/custom/V8UndoManagerCustom.cpp: Added.
2539         (WebCore):
2540         (WebCore::V8UndoManager::transactCallback):
2541         * dom/Document.cpp:
2542         (WebCore::Document::~Document):
2543         (WebCore::Document::undoManager):
2544         * dom/Element.cpp:
2545         (WebCore::Element::undoManager):
2546         (WebCore::Element::disconnectUndoManager):
2547         * editing/CompositeEditCommand.h:
2548         * editing/DOMTransaction.idl: Added.
2549         * editing/Editor.cpp:
2550         (WebCore::Editor::appliedEditing):
2551         (WebCore::Editor::unappliedEditing):
2552         (WebCore::Editor::reappliedEditing):
2553         (WebCore::Editor::canUndo):
2554         (WebCore::Editor::undo):
2555         (WebCore::Editor::canRedo):
2556         (WebCore::Editor::redo):
2557         * editing/UndoManager.cpp:
2558         (WebCore::UndoManager::create):
2559         (WebCore::UndoManager::UndoManager):
2560         (WebCore::clearStack):
2561         (WebCore):
2562         (WebCore::UndoManager::disconnect):
2563         (WebCore::UndoManager::stop):
2564         (WebCore::UndoManager::~UndoManager):
2565         (WebCore::createUndoManagerEntry):
2566         (WebCore::UndoManager::transact):
2567         (WebCore::UndoManager::undo):
2568         (WebCore::UndoManager::redo):
2569         (WebCore::UndoManager::registerUndoStep):
2570         (WebCore::UndoManager::registerRedoStep):
2571         (WebCore::UndoManager::clearUndo):
2572         (WebCore::UndoManager::clearRedo):
2573         * editing/UndoManager.h:
2574         (WebCore):
2575         (UndoManager):
2576         (WebCore::UndoManager::position):
2577         (WebCore::UndoManager::canUndo):
2578         (WebCore::UndoManager::canRedo):
2579         (WebCore::UndoManager::undoScopeHost):
2580         (WebCore::UndoManager::ownerNode):
2581         * editing/UndoManager.idl:
2582         * editing/UndoStep.h:
2583         (UndoStep):
2584
2585 2012-08-16  Andrey Kosyakov  <caseq@chromium.org>
2586
2587         Web Inspector: CPU profile view select overlaps with status bar buttons
2588         https://bugs.webkit.org/show_bug.cgi?id=94243
2589
2590         Reviewed by Pavel Feldman.
2591
2592         - use StatusBarComboBox inated of plain select element in the status bar of CPU profile view;
2593         - add StatusBarComboBox.select()
2594
2595         * inspector/front-end/CPUProfileView.js:
2596         (WebInspector.CPUProfileView.prototype.get statusBarItems):
2597         * inspector/front-end/StatusBarButton.js:
2598         (WebInspector.StatusBarComboBox.prototype.selectedOption):
2599         (WebInspector.StatusBarComboBox.prototype.select):
2600         * inspector/front-end/externs.js: drive-by fix: add declaration to suppress compilation error;
2601         (Array.prototype.select):
2602
2603 2012-08-16  Vsevolod Vlasov  <vsevik@chromium.org>
2604
2605         Web Inspector: Snippet script mapping should not load snippets until workspace reset event is dispatched on scripts panel.
2606         https://bugs.webkit.org/show_bug.cgi?id=94218
2607
2608         Reviewed by Pavel Feldman.
2609
2610         Scripts panel does not load uiSourceCodes in workspace reset handler anymore.
2611         Snippet script mapping does not start reloading snippets after reset until WorkspaceReset event is dispatched.
2612
2613         * inspector/front-end/JavaScriptSourceFrame.js: Simplified isComittingEditing to be reset synchronously.
2614         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
2615         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
2616         * inspector/front-end/ScriptSnippetModel.js:
2617         (WebInspector.ScriptSnippetModel.prototype._reset):
2618         * inspector/front-end/ScriptsPanel.js:
2619         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
2620         (WebInspector.ScriptsPanel.prototype._addUISourceCode):
2621         (WebInspector.ScriptsPanel.prototype._reset):
2622         * inspector/front-end/UISourceCodeFrame.js: Simplified isComittingEditing to be reset synchronously.
2623         (WebInspector.UISourceCodeFrame.prototype.commitEditing):
2624         (WebInspector.UISourceCodeFrame.prototype._didEditContent):
2625
2626 2012-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2627
2628         Unreviewed, rolling out r125829.
2629         http://trac.webkit.org/changeset/125829
2630         https://bugs.webkit.org/show_bug.cgi?id=94299
2631
2632         Maybe causing Chromium AutomationTabHelperBrowserTest failures
2633         (Requested by enne on #webkit).
2634
2635         * loader/FrameLoader.cpp:
2636         (WebCore::FrameLoader::init):
2637         (WebCore::FrameLoader::prepareForLoadStart):
2638         (WebCore::FrameLoader::clearProvisionalLoad):
2639         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2640         (WebCore::FrameLoader::detachFromParent):
2641         * loader/FrameLoader.h:
2642         (FrameLoader):
2643
2644 2012-08-16  Nico Weber  <thakis@chromium.org>
2645
2646         [chromium/mac] Remove RenderThemeChromiumMac::paintTextField override
2647         https://bugs.webkit.org/show_bug.cgi?id=94276
2648
2649         Reviewed by Eric Seidel.
2650
2651         The comment says this can go once 10.5 goes away. Besides, the
2652         superclass implementation has the same hack anyway.
2653
2654         No behavior change.
2655
2656         * rendering/RenderThemeChromiumMac.h:
2657         (RenderThemeChromiumMac):
2658         * rendering/RenderThemeChromiumMac.mm:
2659
2660 2012-08-16  David Barr  <davidbarr@chromium.org>
2661
2662         @import url("#foo") causes stack overflow
2663         https://bugs.webkit.org/show_bug.cgi?id=93687
2664
2665         Reviewed by Tony Chang.
2666
2667         Test: http/tests/css/css-imports-url-fragment.html
2668
2669         * css/StyleRuleImport.cpp:
2670         (WebCore::StyleRuleImport::requestStyleSheet): Ignore the fragment identifier in cycle detection.
2671
2672 2012-08-16  Antoine Labour  <piman@chromium.org>
2673
2674         [chromium] Add resource transfer functions to CCResourceProvider
2675         https://bugs.webkit.org/show_bug.cgi?id=93524
2676
2677         Reviewed by James Robinson.
2678
2679         This adds methods to CCResourceProvider to be able to transport
2680         resources from a child to a parent.
2681
2682         Added test to CCResourceProviderTest.
2683
2684         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
2685         (WebCore::CCResourceProvider::inUseByConsumer):
2686         (WebCore::CCResourceProvider::createResource):
2687         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
2688         (WebCore::CCResourceProvider::CCResourceProvider):
2689         (WebCore::CCResourceProvider::createChild):
2690         (WebCore):
2691         (WebCore::CCResourceProvider::destroyChild):
2692         (WebCore::CCResourceProvider::getChildToParentMap):
2693         (WebCore::CCResourceProvider::prepareSendToParent):
2694         (WebCore::CCResourceProvider::prepareSendToChild):
2695         (WebCore::CCResourceProvider::receiveFromChild):
2696         (WebCore::CCResourceProvider::receiveFromParent):
2697         (WebCore::CCResourceProvider::transferResource):
2698         * platform/graphics/chromium/cc/CCResourceProvider.h:
2699         (Mailbox):
2700         (TransferableResource):
2701         (TransferableResourceList):
2702         (CCResourceProvider):
2703         (Resource):
2704         (Child):
2705
2706 2012-08-16  David Grogan  <dgrogan@chromium.org>
2707
2708         IndexedDB: Frontend and plumbing for integer versions
2709         https://bugs.webkit.org/show_bug.cgi?id=92897
2710
2711         Reviewed by Tony Chang.
2712
2713         This patch exposes integer versions and the upgradeneeded event to
2714         script.
2715
2716         The events surrounding an IDBOpenDBRequest follow a new pattern
2717         compared to other idb requests. An open request can receive a blocked
2718         event, an upgradeneeded event, and then a success event. When
2719         dispatching the upgradeneeded and success events the request has its
2720         readyState set to DONE and its result property set to an IDBDatabase.
2721         We usually think of IDBRequests firing one event with one result,
2722         cursors being the big exception. There are some minor changes around
2723         enqueuing and dispatching events to support this.
2724
2725         There's also some funkiness in
2726         IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) so that
2727         the IDBDatabase object delivered in upgradeneeded is reused for the
2728         success event.
2729
2730         Tests - expectations are updated in this patch.
2731
2732         * Modules/indexeddb/IDBDatabase.cpp:
2733         (WebCore::IDBDatabase::setVersion):
2734         (WebCore::IDBDatabase::onVersionChange):
2735         (WebCore):
2736         (WebCore::IDBDatabase::registerFrontendCallbacks):
2737         * Modules/indexeddb/IDBDatabase.h:
2738         (IDBDatabase):
2739         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2740         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
2741         * Modules/indexeddb/IDBDatabaseCallbacks.h:
2742         (IDBDatabaseCallbacks):
2743         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
2744         (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
2745         (WebCore):
2746         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
2747         (IDBDatabaseCallbacksImpl):
2748         * Modules/indexeddb/IDBFactory.cpp:
2749         (WebCore::IDBFactory::open):
2750         (WebCore):
2751         * Modules/indexeddb/IDBFactory.h:
2752         (IDBFactory):
2753         * Modules/indexeddb/IDBFactory.idl:
2754         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2755         (WebCore::IDBFactoryBackendImpl::open):
2756         * Modules/indexeddb/IDBFactoryBackendImpl.h:
2757         (IDBFactoryBackendImpl):
2758         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2759         (IDBFactoryBackendInterface):
2760         * Modules/indexeddb/IDBOpenDBRequest.cpp: Added.
2761         (WebCore):
2762         (WebCore::IDBOpenDBRequest::create):
2763         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
2764         (WebCore::IDBOpenDBRequest::~IDBOpenDBRequest):
2765         (WebCore::IDBOpenDBRequest::interfaceName):
2766         (WebCore::IDBOpenDBRequest::onBlocked):
2767         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
2768         (WebCore::IDBOpenDBRequest::shouldEnqueueEvent):
2769         * Modules/indexeddb/IDBOpenDBRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h.
2770         (WebCore):
2771         (IDBOpenDBRequest):
2772         * Modules/indexeddb/IDBOpenDBRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h.
2773         * Modules/indexeddb/IDBRequest.cpp:
2774         (WebCore::IDBRequest::IDBRequest):
2775         (WebCore::IDBRequest::shouldEnqueueEvent):
2776         (WebCore::IDBRequest::onSuccess):
2777         This function works with WebIDBCallbacksImpl::onSuccess to reuse its
2778         IDBDatabaseBackendInterface that it got during
2779         IDBOpenDBRequest::onUpgradeNeeded.
2780
2781         (WebCore::IDBRequest::dispatchEvent):
2782         (WebCore::IDBRequest::transactionDidDispatchCompleteOrAbort):
2783         (WebCore):
2784         (WebCore::IDBRequest::enqueueEvent):
2785         * Modules/indexeddb/IDBRequest.h:
2786         (WebCore::IDBRequest::onBlocked):
2787         (IDBRequest):
2788         * Modules/indexeddb/IDBTransaction.cpp:
2789         We now take a pointer to the openDBRequest if this is a version
2790         change transaction as a result of an open-with-version call so that we
2791         can clear the transaction property on the openDBRequest as soon as the
2792         upgradeneeded event is dispatched per the spec ("... set request's
2793         transaction property to null... ", currently 4.8.12).
2794
2795         (WebCore::IDBTransaction::create):
2796         (WebCore):
2797         (WebCore::IDBTransaction::IDBTransaction):
2798         (WebCore::IDBTransaction::setActive):
2799         (WebCore::IDBTransaction::onComplete):
2800         (WebCore::IDBTransaction::dispatchEvent):
2801         * Modules/indexeddb/IDBTransaction.h:
2802         (WebCore):
2803         (IDBTransaction):
2804         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2805         (WebCore::IDBTransactionBackendImpl::commit):
2806         * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp.
2807         (WebCore):
2808         (WebCore::IDBUpgradeNeededEvent::create):
2809         (WebCore::IDBUpgradeNeededEvent::IDBUpgradeNeededEvent):
2810         (WebCore::IDBUpgradeNeededEvent::~IDBUpgradeNeededEvent):
2811         (WebCore::IDBUpgradeNeededEvent::oldVersion):
2812         (WebCore::IDBUpgradeNeededEvent::newVersion):
2813         (WebCore::IDBUpgradeNeededEvent::interfaceName):
2814         * Modules/indexeddb/IDBUpgradeNeededEvent.h: Copied from Source/WebKit/chromium/src/WebIDBDatabaseCallbacksImpl.h.
2815         (WebCore):
2816         (IDBUpgradeNeededEvent):
2817         * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Copied from Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h.
2818         * WebCore.gypi:
2819         * dom/EventNames.h:
2820         (WebCore):
2821         * dom/EventNames.in:
2822         * dom/EventTargetFactory.in:
2823         * inspector/InspectorIndexedDBAgent.cpp:
2824         (WebCore):
2825
2826 2012-08-16  Yoshifumi Inoue  <yosin@chromium.org>
2827
2828         [Forms] Cleanup CSS selectors for multiple fields time input UI
2829         https://bugs.webkit.org/show_bug.cgi?id=94287
2830
2831         Reviewed by Kent Tamura.
2832
2833         This patch cleans CSS selectors for multiple fields time input UI:
2834          - Removed "width" from fields: we use monospace font for field.
2835          - Use "em" instead of "px" for unit.
2836          - Add left margin to spin button.
2837
2838         Changes of this patch affect only both ENABLE_INPUT_TYPE_TIME and
2839         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS are enabled.
2840
2841         Tests: fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
2842                fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
2843                fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
2844                fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
2845                fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html
2846
2847         * css/html.css:
2848         (input::-webkit-datetime-edit-ampm-field):
2849         (input::-webkit-datetime-edit-hour-field):
2850         (input::-webkit-datetime-edit-millisecond-field):
2851         (input::-webkit-datetime-edit-minute-field):
2852         (input::-webkit-datetime-edit-second-field):
2853         (input[type=time]::-webkit-inner-spin-button):
2854
2855 2012-08-16  John Bates  <jbates@google.com>
2856
2857         Fix vsync-disabled Null pointer crash bug
2858         https://bugs.webkit.org/show_bug.cgi?id=94280
2859
2860         Reviewed by Kentaro Hara.
2861
2862         The m_timeSource member is NULL for vsync-disabled path, need to check for that.
2863
2864         Tests: Covered by Chromium throughput tests. All the compositor thread throughput tests are crashing.
2865
2866         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2867         (WebCore::CCFrameRateController::setTimebaseAndInterval):
2868
2869 2012-08-16  Michael Saboff  <msaboff@apple.com>
2870
2871         HTML Parser should produce 8bit substrings for inline style and script elements
2872         https://bugs.webkit.org/show_bug.cgi?id=93742
2873
2874         Reviewed by Benjamin Poulain.
2875
2876         Currently all data associated with a token is stored and processed as UChars.
2877         Added code to determine that the contents of token data is all 8 bit by keeping
2878         the logical OR value of all prior characters. Also added a flag that the parser
2879         can set to indicate when the token data is converted to a String that we want
2880         to make an 8 bit string if possible. Enabled this handling for script, style,
2881         iframe, noembed, noframes, noscript and xmp tags.
2882
2883         No new tests. Existing tests provide coverage.
2884
2885         * html/parser/HTMLTokenizer.cpp:
2886         (WebCore::HTMLTokenizer::nextToken):
2887         * html/parser/HTMLTreeBuilder.cpp:
2888         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
2889         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isAll8BitData):
2890         (HTMLTreeBuilder::ExternalCharacterTokenBuffer):
2891         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
2892         * xml/parser/MarkupTokenBase.h:
2893         (WebCore::MarkupTokenBase::clear):
2894         (WebCore::MarkupTokenBase::appendToCharacter):
2895         (MarkupTokenBase):
2896         (WebCore::MarkupTokenBase::eraseCharacters):
2897         (WebCore::MarkupTokenBase::setConvertTo8Bit):
2898         (WebCore::MarkupTokenBase::isAll8BitData):
2899         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
2900         (WebCore::AtomicMarkupTokenBase::isAll8BitData):
2901         (AtomicMarkupTokenBase):
2902         (WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
2903
2904 2012-08-16  Michelangelo De Simone  <michelangelo@webkit.org>
2905
2906         [Part 3] Parse the custom() function in -webkit-filter: parse the 3d-transforms parameters
2907         https://bugs.webkit.org/show_bug.cgi?id=71443
2908
2909         Reviewed by Dirk Schulze.
2910
2911         custom() now correctly parses the 3d-tranforms parameters. In order to do that the parseTransform() method 
2912         has been refactored and split to reuse already present code. 
2913
2914         * css/CSSParser.cpp:
2915         (WebCore::parseTranslateTransformValue): Renamed from parseTransformValue()
2916         (WebCore::CSSParser::parseValue): Reference updated from parseTransformValue() to parseTranslateTransformValue()
2917         (WebCore::CSSParser::parseTransform): This method has been split in two to reuse already present code
2918         (WebCore):
2919         (WebCore::CSSParser::parseTransformValue): New method to parse single transform values
2920         (WebCore::CSSParser::parseCustomFilter): Updated to parse the transform parameters
2921         (WebCore::CSSParser::parseCustomFilterTransform): New method to parse custom() transforms 
2922         * css/CSSParser.h:
2923
2924 2012-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2925
2926         Unreviewed, rolling out r125838.
2927         http://trac.webkit.org/changeset/125838
2928         https://bugs.webkit.org/show_bug.cgi?id=94283
2929
2930         Breaks Mac compile due to bug 74625 (Requested by enne on
2931         #webkit).
2932
2933         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
2934         (WebCore::CCResourceProvider::inUseByConsumer):
2935         (WebCore::CCResourceProvider::createResource):
2936         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
2937         (WebCore::CCResourceProvider::deleteOwnedResources):
2938         (WebCore::CCResourceProvider::CCResourceProvider):
2939         * platform/graphics/chromium/cc/CCResourceProvider.h:
2940         (CCResourceProvider):
2941         (Resource):
2942
2943 2012-08-16  Kenneth Russell  <kbr@google.com>
2944
2945         Unreviewed, rolling out r125800.
2946         http://trac.webkit.org/changeset/125800
2947         https://bugs.webkit.org/show_bug.cgi?id=84281
2948
2949         Hypothesis that this change caused gpu_throughput_tests to
2950         start timing out on all platforms on the Chromium GPU
2951         canaries.
2952
2953         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2954         * platform/graphics/chromium/cc/CCFrameRateController.h:
2955         (CCFrameRateController):
2956         * platform/graphics/chromium/cc/CCScheduler.cpp:
2957         (WebCore::CCScheduler::processScheduledActions):
2958         * platform/graphics/chromium/cc/CCScheduler.h:
2959         (CCSchedulerClient):
2960         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
2961         (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
2962         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
2963         (WebCore::CCTextureUpdateController::updateMoreTextures):
2964         (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
2965         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
2966         (WebCore::CCTextureUpdateController::create):
2967         (CCTextureUpdateController):
2968         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2969         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2970         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
2971         * platform/graphics/chromium/cc/CCThreadProxy.h:
2972
2973 2012-08-16  Kenneth Russell  <kbr@google.com>
2974
2975         Unreviewed, rolling out r125833.
2976         http://trac.webkit.org/changeset/125833
2977         https://bugs.webkit.org/show_bug.cgi?id=94234
2978
2979         Was not the cause of the test failures. Per
2980         http://crbug.com/143311 , it is probably WebKit r125800.
2981
2982         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2983         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2984         (WebCore::Canvas2DLayerBridge::deferredCanvas):
2985         (WebCore):
2986         (WebCore::Canvas2DLayerBridge::prepareForDraw):
2987         (WebCore::Canvas2DLayerBridge::skCanvas):
2988         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2989         (Canvas2DLayerBridge):
2990         * platform/graphics/skia/ImageBufferSkia.cpp:
2991
2992 2012-08-16  Antoine Labour  <piman@chromium.org>
2993
2994         [chromium] Add resource transfer functions to CCResourceProvider
2995         https://bugs.webkit.org/show_bug.cgi?id=93524
2996
2997         Reviewed by James Robinson.
2998
2999         This adds methods to CCResourceProvider to be able to transport
3000         resources from a child to a parent.
3001
3002         Added test to CCResourceProviderTest.
3003
3004         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
3005         (WebCore::CCResourceProvider::inUseByConsumer):
3006         (WebCore::CCResourceProvider::createResource):
3007         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
3008         (WebCore::CCResourceProvider::CCResourceProvider):
3009         (WebCore::CCResourceProvider::createChild):
3010         (WebCore):
3011         (WebCore::CCResourceProvider::destroyChild):
3012         (WebCore::CCResourceProvider::getChildToParentMap):
3013         (WebCore::CCResourceProvider::prepareSendToParent):
3014         (WebCore::CCResourceProvider::prepareSendToChild):
3015         (WebCore::CCResourceProvider::receiveFromChild):
3016         (WebCore::CCResourceProvider::receiveFromParent):
3017         (WebCore::CCResourceProvider::transferResource):
3018         * platform/graphics/chromium/cc/CCResourceProvider.h:
3019         (Mailbox):
3020         (TransferableResource):
3021         (TransferableResourceList):
3022         (CCResourceProvider):
3023         (Resource):
3024         (Child):
3025
3026 2012-08-16  Kent Tamura  <tkent@chromium.org>
3027
3028         [Chromium-win] Use native digits in a case of "context" substitution setting too.
3029         https://bugs.webkit.org/show_bug.cgi?id=94210
3030
3031         Reviewed by Hajime Morita.
3032
3033         Use native digits in a case of "context" substitution setting, not only
3034         "native" substitution.  IE10's input[type=number] always show native
3035         digits even if the system setting is "context". We had better follow
3036         this behavior.
3037
3038         No new tests. This behavior depends on the system locale setting.
3039
3040         * platform/text/LocaleWin.cpp:
3041         (WebCore::LocaleWin::initializeNumberLocalizerData):
3042         Uses 0-9 only if the substitution setting is "0 to 9". It measn we apply
3043         native digits if the substitution setting is "context" or "native".
3044
3045 2012-08-16  Huang Dongsung  <luxtella@company100.net>
3046
3047         [Texmap] Render gif animation well.
3048         https://bugs.webkit.org/show_bug.cgi?id=93458
3049
3050         Reviewed by Noam Rosenthal.
3051
3052         GraphicsLayerTextureMapper::setContentsToImage() checks the pointer to the
3053         image, not nativeImagePtr, so Texmap currently draws only the first frame of gif
3054         animations. This patch makes Texmap draw gif animations.
3055
3056         No new tests, could not write a test due to DRT limitation, see Bug 93458.
3057
3058         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3059         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
3060         (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
3061         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3062         (GraphicsLayerTextureMapper):
3063
3064 2012-08-16  Kenneth Russell  <kbr@google.com>
3065
3066         Unreviewed, rolling out r125804.
3067         http://trac.webkit.org/changeset/125804
3068         https://bugs.webkit.org/show_bug.cgi?id=94234
3069
3070         Made threaded tests in performance_browser_tests start timing
3071         out on Chromium GPU bots
3072
3073         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3074         (AcceleratedDeviceContext):
3075         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
3076         (WebCore::AcceleratedDeviceContext::prepareForDraw):
3077         (WebCore):
3078         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
3079         (WebCore::Canvas2DLayerBridge::skCanvas):
3080         * platform/graphics/chromium/Canvas2DLayerBridge.h:
3081         (Canvas2DLayerBridge):
3082         * platform/graphics/skia/ImageBufferSkia.cpp:
3083
3084 2012-08-16  Adam Barth  <abarth@webkit.org>
3085
3086         Rename DOMWindow::clear to something more descriptive
3087         https://bugs.webkit.org/show_bug.cgi?id=93993
3088
3089         Reviewed by Eric Seidel.
3090
3091         As requested by Eric Seidel. In WebKit, we typically use "clear" to
3092         mean zeroing out a pointer (e.g., OwnPtr::clear). For DOMWindow, it's
3093         more like we're resetting the DOMWindow to a known state (i.e., its
3094         initial state), modulo a wrinkle w.r.t. the PageCache. The new name
3095         attempts to clarify the situation.
3096
3097         * dom/Document.cpp:
3098         (WebCore::Document::~Document):
3099         * loader/FrameLoader.cpp:
3100         (WebCore::FrameLoader::clear):
3101         * page/DOMWindow.cpp:
3102         (WebCore::DOMWindow::~DOMWindow):
3103         (WebCore::DOMWindow::frameDestroyed):
3104         (WebCore::DOMWindow::resetUnlessSuspendedForPageCache):
3105         (WebCore::DOMWindow::resetDOMWindowProperties):
3106         * page/DOMWindow.h:
3107         (DOMWindow):
3108
3109 2012-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3110
3111         Unreviewed, rolling out r125717.
3112         http://trac.webkit.org/changeset/125717
3113         https://bugs.webkit.org/show_bug.cgi?id=94272
3114
3115         Likely to be causing Chromium Win Debug extensions browser
3116         tests to fail (Requested by enne on #webkit).
3117
3118         * UseV8.cmake:
3119         * WebCore.gypi:
3120         * bindings/v8/DOMWrapperWorld.cpp:
3121         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3122         (WebCore::mainThreadNormalWorld):
3123         * bindings/v8/DOMWrapperWorld.h:
3124         (WebCore):
3125         (WebCore::DOMWrapperWorld::create):
3126         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
3127         (DOMWrapperWorld):
3128         * bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
3129         (WebCore):
3130         (WebCore::IsolatedWorld::IsolatedWorld):
3131         (WebCore::IsolatedWorld::~IsolatedWorld):
3132         * bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
3133         (WebCore):
3134         (IsolatedWorld):
3135         (WebCore::IsolatedWorld::create):
3136         (WebCore::IsolatedWorld::count):
3137         (WebCore::IsolatedWorld::id):
3138         (WebCore::IsolatedWorld::domDataStore):
3139         * bindings/v8/V8DOMWrapper.h:
3140         (WebCore::V8DOMWrapper::getCachedWrapper):
3141         * bindings/v8/V8IsolatedContext.cpp:
3142         (WebCore::V8IsolatedContext::V8IsolatedContext):
3143         (WebCore::V8IsolatedContext::destroy):
3144         * bindings/v8/V8IsolatedContext.h:
3145         (WebCore::V8IsolatedContext::getEntered):
3146         (WebCore::V8IsolatedContext::world):
3147         (V8IsolatedContext):
3148
3149 2012-08-16  Nico Weber  <thakis@chromium.org>
3150
3151         Delete ThemeChromiumMac, use ThemeMac in chromium/mac instead
3152         https://bugs.webkit.org/show_bug.cgi?id=94260
3153
3154         Reviewed by James Robinson.
3155
3156         ThemeChromiumMac was introduced when ThemeMac assumed that an
3157         in-process Cocoa view existed. With WebKit2, that's no longer true,
3158         and the files can now be merged.
3159
3160         No behavior change.
3161
3162         * WebCore.gyp/WebCore.gyp:
3163         * WebCore.gypi:
3164         * platform/chromium/ThemeChromiumMac.h: Removed.
3165         * platform/chromium/ThemeChromiumMac.mm: Removed.
3166         * platform/mac/ThemeMac.mm:
3167         (WebCore::paintStepper):
3168         (WebCore::ThemeMac::ensuredView):
3169
3170 2012-08-16  Nate Chapin  <japhet@chromium.org>
3171
3172         ProgressTracker never completes if iframe detached during parsing 
3173         https://bugs.webkit.org/show_bug.cgi?id=92272
3174
3175         Reviewed by Adam Barth.
3176
3177         Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched,
3178         and balance the calls when the Frame is detached.
3179
3180         No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place.
3181
3182         * loader/FrameLoader.cpp:
3183         (WebCore::FrameLoader::init):
3184         (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
3185         (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
3186         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
3187         (WebCore::FrameLoader::prepareForLoadStart):
3188         (WebCore::FrameLoader::clearProvisionalLoad):
3189         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3190         (WebCore::FrameLoader::detachFromParent):
3191         * loader/FrameLoader.h:
3192         (FrameProgressTracker):
3193         (WebCore::FrameLoader::FrameProgressTracker::create):
3194         (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker):
3195
3196 2012-08-16  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3197
3198         Update TypedArrays to throw RangeError or similar instead of INDEX_SIZE_ERR
3199         https://bugs.webkit.org/show_bug.cgi?id=45118
3200
3201         Reviewed by Kenneth Russell.
3202
3203         Update TypedArrays to raise JavaScript RangeError instead of dom
3204         INDEX_SIZE_ERR exceptions. Also, update TypedArrays to raise TypeError
3205         instead of JavaScript SyntaxError or dom exceptions SYNTAX_ERR when
3206         calling set method with invalid arguments.
3207
3208         Specification does not define the type of exceptions to raise, but
3209         other browsers raise JavaScript errors, so those changes will improve
3210         compatibility.
3211
3212         New Test: fast/canvas/webgl/array-set-invalid-arguments.html
3213
3214         Updated Tests expectations:
3215             fast/canvas/webgl/array-set-out-of-bounds.html
3216             fast/canvas/webgl/data-view-crash.html
3217             fast/canvas/webgl/data-view-test.html
3218
3219         * bindings/js/JSArrayBufferViewHelper.h:
3220         (WebCore):
3221         (WebCore::setWebGLArrayWithTypedArrayArgument):
3222         (WebCore::setWebGLArrayHelper):
3223         (WebCore::constructArrayBufferViewWithTypedArrayArgument):
3224         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
3225         (WebCore::constructArrayBufferView):
3226         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3227         (WebCore):
3228         (WebCore::constructWebGLArrayWithArrayBufferArgument):
3229         (WebCore::setWebGLArrayHelper):
3230
3231 2012-08-16  Alexandre Elias  <aelias@google.com>
3232
3233         [chromium] Replace destRect with destOffset in texture upload
3234         https://bugs.webkit.org/show_bug.cgi?id=94154
3235
3236         Reviewed by James Robinson.
3237
3238         Previously, texture upload code implicitly assumed that sourceRect and
3239         destRect have the same size. The behavior is undefined if they are
3240         different, since they are used interchangeably and there's no support
3241         for scaling from one rect to the other. This patch enforces that
3242         constraint at the interface level by replacing all instances of
3243         "IntRect destRect" by "IntSize destOffset".
3244
3245         No new tests (no-op refactoring).
3246
3247         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
3248         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
3249         (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
3250         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
3251         (Texture):
3252         (BitmapCanvasLayerTextureUpdater):
3253         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
3254         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
3255         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
3256         (Texture):
3257         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
3258         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
3259         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
3260         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
3261         (Texture):
3262         (FrameBufferSkPictureCanvasLayerTextureUpdater):
3263         * platform/graphics/chromium/ImageLayerChromium.cpp:
3264         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
3265         * platform/graphics/chromium/LayerRendererChromium.cpp:
3266         * platform/graphics/chromium/LayerTextureSubImage.cpp:
3267         (WebCore::LayerTextureSubImage::upload):
3268         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
3269         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
3270         * platform/graphics/chromium/LayerTextureSubImage.h:
3271         (LayerTextureSubImage):
3272         * platform/graphics/chromium/LayerTextureUpdater.h:
3273         (Texture):
3274         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
3275         (WebCore::ScrollbarLayerChromium::updatePart):
3276         * platform/graphics/chromium/TextureUploader.h:
3277         (Parameters):
3278         * platform/graphics/chromium/ThrottledTextureUploader.cpp:
3279         (WebCore::ThrottledTextureUploader::uploadTexture):
3280         * platform/graphics/chromium/TiledLayerChromium.cpp:
3281         (WebCore::TiledLayerChromium::updateTileTextures):
3282         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
3283         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
3284         * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp:
3285         (WebCore::CCPrioritizedTexture::upload):
3286         * platform/graphics/chromium/cc/CCPrioritizedTexture.h:
3287         (CCPrioritizedTexture):
3288         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
3289         (WebCore::CCResourceProvider::upload):
3290         * platform/graphics/chromium/cc/CCResourceProvider.h:
3291         (CCResourceProvider):
3292         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3293         (WebCore::CCVideoLayerImpl::copyPlaneData):
3294
3295 2012-08-16  James Robinson  <jamesr@chromium.org>
3296
3297         [chromium] Remove unnecessary tree hierarchy inspection APIs from WebLayer
3298         https://bugs.webkit.org/show_bug.cgi?id=94229
3299
3300         Reviewed by Adrienne Walker.
3301
3302         Tweak updateLayerPreserves3D() logic to use the existing GraphicsLayer tree hierarchy instead of pulling the
3303         hierarchy off of WebLayer.
3304
3305         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3306         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3307
3308 2012-08-16  Ryosuke Niwa  <rniwa@webkit.org>
3309
3310         Let Xcode have its own way.
3311
3312         * WebCore.xcodeproj/project.pbxproj:
3313
3314 2012-08-16  Mike West  <mkwst@chromium.org>
3315
3316         Refactor CSPDirective to support non-sourcelist types.
3317         https://bugs.webkit.org/show_bug.cgi?id=94252
3318
3319         Reviewed by Adam Barth.
3320
3321         The 'CSPDirective' was built to support source list Content Security
3322         Policy directives like 'script-src' or 'object-src'. It doesn't support
3323         new directive types like 'script-nonce' or 'plugin-types'. That
3324         functionality has been implemented by hanging state off of
3325         CSPDirectiveList, which isn't a great solution.
3326
3327         This patch pulls the source list functionality out of CSPDirective and
3328         into SourceListDirective, and likewise pulls the nonce and media list
3329         functionality into NonceDirective and MediaListDirective.
3330
3331         No new tests have been added; this refactoring should be externally
3332         transparent, and the current CSP tests should continue to pass.
3333
3334         * page/ContentSecurityPolicy.cpp:
3335         (WebCore::CSPDirective::CSPDirective):
3336         (CSPDirective):
3337         (WebCore::CSPDirective::text):
3338         (WebCore::CSPDirective::policy):
3339             CSPDirective is now a parent class for NonceDirective,
3340             MediaListDirective, and SourceListDirective. It stores a pointer
3341             to the ContentSecurityPolicy object in order to facilitate logging,
3342             which now needs to happen at this level, rather than higher up in
3343             CSPDirectiveList.
3344         (WebCore):
3345         (NonceDirective):
3346         (WebCore::NonceDirective::NonceDirective):
3347         (WebCore::NonceDirective::allows):
3348         (WebCore::NonceDirective::parse):
3349             Pull the nonce parsing code and state out of CSPDirectiveList
3350             and into this new class.
3351         (MediaListDirective):
3352         (WebCore::MediaListDirective::MediaListDirective):
3353         (WebCore::MediaListDirective::allows):
3354         (WebCore::MediaListDirective::parse):
3355             Pull the media list parsing code and state out of CSPDirectiveList
3356             and into this new class.
3357         (SourceListDirective):
3358         (WebCore::SourceListDirective::SourceListDirective):
3359         (WebCore::SourceListDirective::allows):
3360             Pull the source list functionality out of CSPDirective
3361             and into this new class.
3362         (CSPDirectiveList):
3363         (WebCore::CSPDirectiveList::checkEval):
3364         (WebCore::CSPDirectiveList::checkInline):
3365         (WebCore::CSPDirectiveList::checkNonce):
3366         (WebCore::CSPDirectiveList::checkSource):
3367         (WebCore::CSPDirectiveList::checkMediaType):
3368         (WebCore::CSPDirectiveList::operativeDirective):
3369         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
3370         (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
3371         (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
3372         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
3373         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
3374         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
3375         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
3376         (WebCore::CSPDirectiveList::allowScriptNonce):
3377         (WebCore::CSPDirectiveList::allowPluginType):
3378         (WebCore::CSPDirectiveList::setCSPDirective):
3379         (WebCore::CSPDirectiveList::addDirective):
3380             Use the new classes rather than CSPDirective (or no directive
3381             at all, in the case of nonces and plugin types).
3382
3383 2012-08-16  Adam Barth  <abarth@webkit.org>
3384
3385         Null checks of m_frame->document()->domWindow() aren't needed
3386         https://bugs.webkit.org/show_bug.cgi?id=94052
3387
3388         Reviewed by Eric Seidel.
3389
3390         If a document is attached to a frame, then its DOMWindow is necessarily
3391         non-0. Checking for 0 is needless.
3392
3393         * loader/DocumentLoader.cpp:
3394         (WebCore::DocumentLoader::checkLoadComplete):
3395         * loader/FrameLoader.cpp:
3396         (WebCore::FrameLoader::stopLoading):
3397         (WebCore::FrameLoader::didOpenURL):
3398         (WebCore::FrameLoader::prepareForCachedPageRestore):
3399
3400 2012-08-16  Max Feil  <mfeil@rim.com>
3401
3402         [BlackBerry] Some media controls are mispositioned for dynamic live streams (HLS)
3403         https://bugs.webkit.org/show_bug.cgi?id=94176
3404
3405         Reviewed by Antonio Gomes.
3406
3407         The default HTML5 media controls for dynamic live streams have
3408         no timeline or timeline container, which for BlackBerry results
3409         in mispositioning of the buttons that are supposed to be to
3410         the right of the timeline (fullscreen and mute). Instead of
3411         being right justified they incorrectly appear on the left next
3412         to the play button. The fix is to explicitly position these 2
3413         buttons whenever the media duration is infinite (indicating a
3414         live stream).
3415
3416         Manual test: ManualTests/blackberry/video-hls-controls.html
3417
3418         * platform/blackberry/RenderThemeBlackBerry.cpp:
3419         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
3420
3421 2012-08-16  Abhishek Arya  <inferno@chromium.org>
3422
3423         Regression(r118248): Replaced element not layout
3424         https://bugs.webkit.org/show_bug.cgi?id=85804
3425
3426         Reviewed by Levi Weintraub.
3427
3428         r118248 moved the layout call of replaced elements to nextLineBreak.
3429         This was intended to delay the layout after all the lineboxes are cleared
3430         in RenderBlock::layoutInlineChildren. However, this caused the end line
3431         object to not layout at all. We revert to the old planned way to just
3432         keep a local vector of replaced elements to layout and then layout all of them
3433         after the lineboxes are cleared.
3434
3435         Test: fast/replaced/replaced-last-line-layout.html
3436
3437         * rendering/RenderBlockLineLayout.cpp:
3438         (WebCore::RenderBlock::layoutInlineChildren):
3439         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3440
3441 2012-08-16  Benjamin Poulain  <bpoulain@apple.com>
3442
3443         Do not perform 8 to 16bits characters conversion when converting a WTFString to NSString/CFString
3444         https://bugs.webkit.org/show_bug.cgi?id=90720
3445
3446         Reviewed by Geoffrey Garen.
3447
3448         In most String to CFString conversion, we should be able to use the "NoCopy" constructor and have
3449         a relatively cheap conversion from WTF::String to CFString.
3450
3451         When the String is 8 bits, it was converted to 16 bits by getData16SlowCase() because of the call
3452         to String::characters().
3453
3454         This patch adds a path for creating a CFString from a 8bits string using CFStringCreateWithBytes.
3455
3456         This is covered by existing tests.
3457
3458         * platform/text/cf/StringCF.cpp:
3459         (WTF::String::createCFString): CFSTR() create static CFString, it is unecessary to retain it.
3460         * platform/text/cf/StringImplCF.cpp: