[MSE] Move PublicURLManager shutdown logic so ActiveDOMObjects associated with public URLs won't leak.
https://bugs.webkit.org/show_bug.cgi?id=128532

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-02-13
Reviewed by Jer Noble.

This fixes a leak of DOM objects by breaking the circular reference
between Document, PublicURLManager, and MediaSource.
Instead of clearing PublicURLManager at destruction-time,
which is delayed indefinitely because of the circular reference,
clear the PublicURLManager during ActiveDOMObject::stop().

Frome Blink r151890 by <acolwell@chromium.org>
<https://src.chromium.org/viewvc/blink?view=rev&revision=151890>

* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::publicURLManager):
* html/DOMURL.h:
* html/PublicURLManager.cpp:
(WebCore::PublicURLManager::create):
(WebCore::PublicURLManager::PublicURLManager):
(WebCore::PublicURLManager::registerURL):
(WebCore::PublicURLManager::stop):
* html/PublicURLManager.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Kill some of the last vestiges of the C++ interpreter's PICs
https://bugs.webkit.org/show_bug.cgi?id=128796

Reviewed by Michael Saboff.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfo):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* bytecode/PolymorphicAccessStructureList.h:
(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::PolymorphicStubInfo):
(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
(JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
(JSC::PolymorphicAccessStructureList::visitWeak):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):
* bytecode/StructureStubInfo.h:
(JSC::isGetByIdAccess):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/Repatch.cpp:
(JSC::getPolymorphicStructureList):
(JSC::tryBuildGetByIDList):
* llint/LowLevelInterpreter.asm:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cocoa] Add a way to get the page from a frame in the injected bundle
https://bugs.webkit.org/show_bug.cgi?id=128791

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame _browserContextController]): Added.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared
_browserContextController property.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cocoa] Expose the bundle form client
https://bugs.webkit.org/show_bug.cgi?id=128792

Reviewed by Anders Carlsson.

* WebKit2.xcodeproj/project.pbxproj: Added new file.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didFocusTextField): Implemented this WKBundlePageFormClient callback by calling the form
delegate.
(setUpFormClient): Added. Initializes the form client with the above function.
(-[WKWebProcessPlugInBrowserContextController _formDelegate]): Added this getter.
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added. Initializes or
clears the form client.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
Declared _formDelegate property.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164094 268f45cc-cd09-0410-ab3c-d52691b4dbfc